有没有办法像在 JavaScript 中那样在 PHP 中使用 or 运算符?

Is there a way to use the or operator in PHP like in JavaScript?

当第一个关联数组不存在时,我想获得关联数组的另一个 属性。

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。

有什么简短的方法可以做到吗?

试试这个变体:

$arr = array("a" => "123", "b" => "456");
$test = isset($arr['a']) ? $arr['a'] : $arr['b'];
echo $test;

Ternary operator

在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"];

但是在PHP7之内,你可以做到

//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"] 仅计算布尔值。