在Python中,可以这样做:
foo = {}
assert foo.get('bar', 'baz') == 'baz'
在 PHP 中,可以使用三元运算符:
$foo = array();
assert( (isset($foo['bar'])) ? $foo['bar'] : 'baz' == 'baz' );
我正在寻找一种高尔夫版本。我能否在PHP中更短、更好地实现它?
更新[2020年3月]:
assert($foo['bar'] ?? 'baz' == 'baz');
看起来今天值得尝试的是空值合并运算符 ??
,更多信息请参考这里。
在下面的评论中发现(+1)
assert foo.get('bar') is not None
,这等同于assert foo.get('bar', None) is not None
。 - smci