各項目がプロパティとして割り当てられる前に特定の条件を満たすかどうかをチェックするクラス内でforeachループを作成しましたが、これに対して三項比較を使用することを考えました。プロパティ宣言のための三項比較をtrueのときに使用
次のコードは正常に動作しますが判明:
$res = [];
$config = [
'red' => 'RED',
'magenta' => 'MAGENTA',
'blue' => 'BLUE',
'lilac' => 'LILAC'
];
$allowed = ['red', 'green', 'blue'];
foreach($config as $name => $value) {
in_array($name, $allowed) ? $res[$name] = $value:'';
}
print_r($res);
それは返します、今、私の質問がある
Array
(
[red] => RED
[blue] => BLUE
)
これは三元比較の有効利用のですか?それともバグですか?コードは今よりはるかに単純に見えますが、私は将来「固定」になるかもしれない何かを使用したくありません。
返信いただきありがとうございます。「固定」とは、将来のリリースのPHPでこの動作が変更される可能性があることを意味します。 –