【发布时间】:2014-10-21 14:23:42
【问题描述】:
在 PHP 中有没有更短的方法?
$b = isset($a) ? $a : 'other';
像在 JS 中一样
$b = $a || 'other';
这看起来并不是一件大事,但是当您要检查大量属性/键时,这会变得很烦人。
提前致谢:)
【问题讨论】:
-
$b = @$a ?: 'other'; -
这样做确实会破坏代码的所有可读性:(
-
我通常会有一个数组,我将它与一个具有默认值的数组合并,它 (1) 的优点是只有 1 个点定义了默认值,并且 (2) 只有 1 个语句合并。 (类似于
$defaults = array("a"=> "123","b" => 456); $input = array("b"=>"custom"); var_dump(array_merge($defaults,$input));) -
@Dave 不仅如此,使用错误抑制器也是一种糟糕的编码习惯。
-
为什么这个问题看起来很像stackoverflow.com/q/26477475 你是不是也厌倦了这样做,还是你是同一个人?啊,你觉得它“烦人”,所以我会说你是一样的。