我希望在第一个不存在的情况下获得关联数组的其他属性。
JavaScript的:
var obj = {"a": "123", "b": "456"};
var test = obj.a || obj.b;
console.log(test);
是否可以在PHP中执行此操作:
$arr = array("a" => "123", "b" => "456");
$test = $arr["a"] || $arr["b"];
echo $test;
当我运行PHP时,我得到1。
我能用短的方式吗?
答案 0 :(得分:8)
在PHP中你可以做到
//Check if $arr["a"] exists, and assign if it does, or assign $arr["b"] else
$arr = array("a" => "123", "b" => "456");
$test = isset($arr["a"]) ? $arr["a"] : $arr["b"];
但是在PHP 7中,你可以做到
//Does the same as above, but available only from PHP 7
$arr = array("a" => "123", "b" => "456");
$test = $arr["a"] ?? $arr["b"];
请参阅operators
请注意,PHP中的$arr["a"] || $arr["b"]
仅计算布尔值。
答案 1 :(得分:2)
尝试此变体:
$arr = array("a" => "123", "b" => "456");
$test = isset($arr['a']) ? $arr['a'] : $arr['b'];
echo $test;