PHP 的引用允许用两个变量来指向同一个内容。意思是,当这样做时:
<?php $a =& $b; ?>
这意味着 $a 和 $b 指向了同一个变量。
Note: $a 和 $b 在这里是完全相同的,这并不是 $a 指向了 $b 或者相反,而是 $a 和 $b 指向了同一个地方。
Note:
$a 和 $b 在这里是完全相同的,这并不是 $a 指向了 $b 或者相反,而是 $a 和 $b 指向了同一个地方。
Note: 如果具有引用的数组被拷贝,其值不会解除引用。对于数组传值给函数也是如此。
如果具有引用的数组被拷贝,其值不会解除引用。对于数组传值给函数也是如此。
Note: 如果对一个未定义的变量进行引用赋值、引用参数传递或引用返回,则会自动创建该变量。 Example #1 对未定义的变量使用引用 <?php function foo(&$var) { } foo($a); // $a is "created" and assigned to null $b = array(); foo($b['b']); var_dump(array_key_exists('b', $b)); // bool(true) $c = new StdClass; foo($c->d); var_dump(property_exists($c, 'd')); // bool(true) ?>
如果对一个未定义的变量进行引用赋值、引用参数传递或引用返回,则会自动创建该变量。
Example #1 对未定义的变量使用引用
<?php function foo(&$var) { } foo($a); // $a is "created" and assigned to null $b = array(); foo($b['b']); var_dump(array_key_exists('b', $b)); // bool(true) $c = new StdClass; foo($c->d); var_dump(property_exists($c, 'd')); // bool(true) ?>
同样的语法可以用在函数中,它返回引用,以及用在 new 运算符中(PHP 4.0.4 以及以后版本):
<?php $bar =& new fooclass(); $foo =& 1/11 1 2 3 4 5 6 下一页 尾页
1/11 1 2 3 4 5 6 下一页 尾页