function defaultFor(&$x,$default=null) {
if(!isset($x)) $x = $default;
}
//-------------------- Now you can do this: --------------
defaultFor($a,"Jack"); // if $a is not set, it will be "Jack"
defaultFor($x); // no more notices for $x but keep it !isset
我希望这和你想达到的目标很接近。如果您将它与一个不存在的变量一起使用,它将不会给您任何通知,而且它非常方便。当然它有一个缺点: 默认值总是事先计算好的,所以不要把它作为第二个参数使用,比如 file _ get _ content 或其他参数。在这种情况下,您最好使用 isset。