-2
这个程序有什么问题? 它永远不会返回,邮件永远不会消失。如果你删除getOrDefault函数,它可以正常工作。它不会引发错误或PHP 5.3.13php传递参考
<?php
function getOrDefault(&$var, $default = null) {
// because I'm tired of typing $x = isset($_POST['x'])? $_POST['x']:null;
if (isset($var)) {
return $var;
} else {
return $default;
}
}
$HTTP_CLIENT_IP = getOrDefault($_SERVER['HTTP_CLIENT_IP']);
mail('[email protected]', 'test', $HTTP_CLIENT_IP);
echo 'done';
?>
使用'getOrDefault'在这个片段中是没有意义的。要查看整个图片,请在代码的开头添加“error_reporting(-1)”行。 – raina77ow
你为什么要引用它?您可以将'getOrDefault($ var,$ default = null)'放在''_SERVER ['HTTP_CLIENT_IP']'上,因为您不会(也不会)修改它。 –
和'isset'在你的情况下是危险的。不妨把它与'$ var!=“”' –