php通过引用传递

时间:2013-10-13 05:46:41

标签: php email

这个程序有什么问题? 它永远不会完成,邮件永远不会消失。如果你删除getOrDefault函数它工作正常。它不会在php 5.3.13

上引发错误或异常
<?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('test@gmail.com', 'test', $HTTP_CLIENT_IP);
    echo 'done';
?>

1 个答案:

答案 0 :(得分:1)

你不需要这个

$HTTP_CLIENT_IP = getOrDefault($_SERVER['HTTP_CLIENT_IP']);

因为你可以使用这个

$HTTP_CLIENT_IP = isset($_SERVER['HTTP_CLIENT_IP'])?$_SERVER['HTTP_CLIENT_IP']:$default;