通过引用传递使php定义未定义的参数?

时间:2017-01-05 11:31:49

标签: php pass-by-reference

我不明白这种行为,这是我的代码

案例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'];
}

0 个答案:

没有答案