我不明白这种行为,这是我的代码
案例1 - 按值传递
<?php
testReference($var);
var_dump($var);
die("<br>end");
function testReference($var)
{
return;
}
此输出:
注意:未定义的变量:C:\ xampp \ htdocs \ contact.SE.php中的var 第2行
注意:未定义的变量:C:\ xampp \ htdocs \ contact.SE.php中的var 第3行
NULL
端
案例2 - 通过引用传递(除“&amp;”之外的相同代码)
<?php
testReference($var);
var_dump($var);
die("<br>end");
function testReference(&$var) //<- difference
{
return;
}
此输出:
NULL
端
如您所见,在通过引用将其传递给函数后使用var会停止显示未定义变量Notice。
通过引用传递使php在内部定义未定义的参数?如果是这样,这是一个可靠的行为,我可以依赖它来定义变量,我不确定它们是否被设置?例如:
我能这样做吗? :validateInput($POST['Unreliable']); //<- by reference
echo $POST['Unreliable'];
而不是
validateInput($POST['Unreliable']);
if(isset($POST['Unreliable'])){
echo $POST['Unreliable'];
}