php变量引用赋值一些知识

来源:互联网 发布:只看数据伯德被低估 编辑:程序博客网 时间:2024/05/16 20:28

手册上的解释是:简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。
我理解决引用相当一个人有了两个名字,无论叫其中哪一个都是这个人。
以下两例子结果都在一样的。删除或修改都会影响到另外一个变量的值。

<?php$foo = 'Bob';              //'Bob' 赋给 $foo$bar = &$foo;              // 通过 $bar 引用 $foo$bar = "My name is $bar";  // 修改 $bar 变量echo $bar;echo $foo;                 // $foo 的值也被修改?><?php$foo = 'Bob';              //'Bob' 赋给 $foo$bar = &$foo;              // 通过 $bar 引用 $foo$foo = "My name is $bar";  // 修改 $foo 变量echo $bar,"\n";echo $foo;                 // $foo 的值也被修改?>

删除引用时,无论是删除ba结果都没会影响到另一个变量。只是相当于删除一个名称,不会影响到变量本身。

<?php$a = 0;$b = &$a;  //  echo $a; //0   // unset($b); // unset $b    unset($a); // unset $b    echo $b; //0 it's OK

当一个变量先后引用两个变量时,把第一次引用的变量,修改成第二次引用的变量。第一次引用没有关系,互相不会影响。

<?php$a = "hihaha";$b = &$a;$c = "eita";$b = &$c;echo $b; // shows "hihaha"

函数的传址调用传址调用,执行完,相当于直接改变引用的变量。这里bb的变量内容所处的内存地址,通过在函数里改变a b的值了

function test( &$a ){  $a += 10;  return $a;}$b = 1;test($b);echo $b;//输出11

函数的引用返回待续…

1 0
原创粉丝点击