有没有办法在PHP中使用PHP中的运算符?

时间:2016-12-01 09:14:07

标签: javascript php operator-keyword

我希望在第一个不存在的情况下获得关联数组的其他属性。

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。

我能用的方式吗?

2 个答案:

答案 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;

Ternary operator