概念性比较强,贴一下先:
<?php
$test = 'aaaaaa';
$abc = & $test;
unset($test);
echo $abc;
这段会输出什么?
答案:aaaaaa
平时&用作逻辑操作与位运算还有形参中表引用比较多,像这样实参取引用还真没在PHP中用过。
$count = 5;
function get_count()
{
static $count = 0;
return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();
答案:501
static变量的特殊之处在于该局部变量只生成一次,所以第一次调用get_count的时候生成一次,第二次将还是上次调用退出时的值。
<?php
$GLOBALS['var1'] = 5;
$var2 = 1;
function get_()
{
global $var2;
$var1 = 0;
return $var2++;
}
get_();
echo $var1;
echo $var2;
答案:52
这题主要是了解$GLOBALS的作用,知道$GLOBALS['var1']等于global的$var1就能得到结果
function get_arr($arr)
{
unset($arr[0]);
}
$arr1 = array(1,2);
$arr2 = array(1,2);
get_arr(&$arr1);
get_arr($arr2);
echo count($arr1);
echo count($arr2);
答案:12 虽然调用时引用(Call-time pass-by-reference)已经deprecated,但还是会work
