【发布时间】:2020-01-12 04:35:54
【问题描述】:
尝试使用函数的参数的默认值,但它总是返回,好像变量为空。
function a($param = "defaultValue") {
echo( $param ? $param : 'Hello World');
//echo( isset($param) ? $param : 'Hello World');
}
$pimba;
a($pimba);
我这样做是为了避免在函数内部这样做,例如:
function a ($param) {
$param = $param ? $param : 'defaultValue';
}
不知道为什么它不起作用。
我想避免它,因为代码会更干净。
【问题讨论】:
-
那么你期待什么?
$pimba为 NULL。 -
与 javascript 不同,
$pimba;不是变量声明。 -
见3v4l.org/UQZEf。
$pimba为空,所以$param变成了这样。如果您不传递变量,则声明仅分配值。请参阅php.net/manual/en/… -
我想从参数行获取默认值。
$param = "defaultValue". -
@aynberOhh 哦,现在我明白了。
$param仅在没有参数传递给函数或我传递null(不是设置为 null 的变量)时才会获得默认值。对吗?
标签: php function ternary-operator default-arguments