关于引用值的总结

1.引用看作是一个别名,一个变了,另外一个也得得变

<?php
$a=100;
$b=&$a;
$b=50;
echo $a;  // 输出是50 当引用的值改变的时候原来值也已一样改变

2.只用变量才能引用

3.如果一个给变量一个新的引用,则改变的只是引用的关系

4.unset()函数只是取消了引用的关系

<?php
$a=100;
$b=&$a;
$c=123;
$b=&$c;
unset($c);
echo $b;//照样输出的是123,
<?php
$a=100;
$b=&$a;
$c=123;
$b=&$c;
unset($c);
unset($b);//这里的$b不会只向原来的$b
echo $b;//$b 是一个空的变量。输不出


下面是一道新浪php招聘一道很经典的题目

请写出输出结果:
$var1 = 5;
    $var2 = 10;
    function foo(&$my_var){
        global $var1;      //这里是全局变量
        $var1 += 2;        //var1的值已经变成了7
        $var2 = 4;        //var2的值是4
        $my_var += 3;     // 8
        return $var2;
    }
    $my_var = 5;
    echo foo($my_var) ."
";   //4
    echo $my_var ."
";       //8
    echo $var1 ."
";         //7
    echo $var2 ."
";         //10
    $bar = 'foo';
    $my_var = 10;
    echo $bar($my_var) ."
";   //4



原文地址:https://www.cnblogs.com/zhengweizhao/p/6935151.html