PHP で次のような構造を使用しても安全ですか。
$filename = $file['filename1'] || $file['filename2'];
私はJSのバックグラウンドを持っていますが、真実/偽の値を信頼できるので、これは安全に使用できます. しかし、私の同僚は以下を利用して構成することに慣れていisset
ます:
$filename = 'filename'. (isset($file['filename2']) ? '2' : '1');
私には少し冗長に思えます。
Phabricator.comで、PHP のさまざまな true/falsey 値の概要を説明し、次の表を提供している記事を見つけました。
VALUE if() empty() isset()
null false true false
0 false true true
0.0 false true true
"0" false true true
"" false true true
false false true true
array() false true true
EVERYTHING ELSE true false true
この問題について私に洞察を与えてくれる人に感謝します。