2016-12-01 6 views
4

最初のものが存在しない場合、連想配列の他のプロパティを取得したいと思います。JavaScriptのようにPHPでor演算子を使用する方法はありますか?

は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

を取得するには、任意の短い方法はあります私はそれをすることができますか?

答えて

8

あなたは

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

参照を行うことができます

PHPの$arr["a"] || $arr["b"]はブール値のみを計算することに注意してください。

+0

ありがとう、これは私が探していたものです。 – Cr4xy

+0

あなたの歓迎!私は2番目のフォームはPHP7の素晴らしい改善だと思います! :) – AnthonyB

2

このバリアントを試してみてください:PHPで

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

Ternary operator

関連する問題