有没有办法像在 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;
在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"];
请注意 PHP 中的 $arr["a"] || $arr["b"]
仅计算布尔值。
当第一个关联数组不存在时,我想获得关联数组的另一个 属性。
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;
在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"];
请注意 PHP 中的 $arr["a"] || $arr["b"]
仅计算布尔值。