“=&”用法的真实例子
这个问题在这里已经有了答案:
这是一个非常简单的例子。 您将$var1
的引用分配给$var2
,因此当您更改$var2
, $var1
值会发生更改。
<?php
$var1 = 10;
$var2 = 20;
$var2 = &$var1;
$var2 = 200;
echo $var1; // 200;
假设一些用户定义的函数处理一个字符串:
function test($string){
$string.='bar';
return $string;
}
在这种情况下,您必须将函数的返回值归还给变量:
$foo='foo';
$foo=test($foo);
通过引用传递变量可以消除一些代码:
function test(&$string){
$string.='bar';
}
$foo='foo';
test($foo);
就像,例如,本机settype
作品。 在手册中查看&符号。
真正有用的例子是修改树形结构:
假设你有一个类似'abc'和数组的树形路径:
array(
'a' => array(
'b' => array(
'c' => array(),
),
),
)
你需要在最深的元素中插入一个新的值。 你可能会得到类似的东西(未经测试,仅用于演示目的):
$parts = explode('.', $path);
$node = &$tree;
foreach ($parts as $part) {
if (isset($node[$part])) {
$node = &$node[$part];
} else {
$node = null;
break;
}
}
if (!is_null($node)) {
$node[] = 'new value';
}
链接地址: http://www.djcxy.com/p/57589.html