【发布时间】:2012-03-23 02:19:09
【问题描述】:
我目前正在测试一个简单的 PHP 函数。
如果在没有传递任何参数的情况下调用函数,我想返回字段的当前值,如果传递了参数,我想设置一个新值。 奇怪的是:如果我通过 0(var_dump 显示正确的值 int(1) 0),函数进入 if 分支,就像我在没有任何值的情况下调用函数一样,我就是不明白为什么。
功能:
public function u_strasse($u_strasse = 'asdjfklhqwef'){
if($u_strasse == 'asdjfklhqwef'){
return $this->u_strasse;
} else {
// set new value here
}
}
u_strasse() 或 u_strasse(0) 让我进入 if 分支。
【问题讨论】:
-
同时我想出了一个更好的解决方案,我使用默认值只有 PHP 在调用没有参数的函数时会报告警告,并使用 func_num_args() 来选择要做什么。 if func_num_args() === 0 -> 返回值,否则设置新值
标签: php function default-value