function test(&$a)
{
$a = $a + 3;
}
如果我先分配变量并调用它: $ a = 3; 测试($ a)的 echo $ a; //它将输出6
但如果我这样做 测试($ a = 3); echo $ a; //它将返回3
为什么?不是第二个函数调用中的引用变量也将它修改为6?
答案 0 :(得分:1)
打开严格的标准,看看:
只应通过引用传递变量
你不应该指望你的第二个例子可以工作。事实上它似乎是巧合,尽管PHP确实记录了它。
答案 1 :(得分:1)
<?php
function test(&$a)
{
echo $a;
$a = $a + 3;
}
test($q = 3);
?>
这会输出3
。我在那里有点惊讶,我希望看到true
$q = 3
通常会成功,然后返回true。