它是安全的在PHP中使用構造這樣的:PHP smart || (OR)運算符,就像在Javascript
$filename = $file['filename1'] || $file['filename2'];
我在JS背景,這是安全的使用,因爲我們可以相信truthy/falsey值。但是我的同事是用來利用isset
結構:
$filename = 'filename'. (isset($file['filename2']) ? '2' : '1');
這對我來說似乎有點冗長。
我發現an article on phabricator.com其中概述了在PHP中不同truthy/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
我希望有人給我在這個問題上的見解。
了''||和其他比較運營商在PHP將返回一個布爾值,它不會像在JavaScript中那樣行事。 –
@ jeroen:希望你明白。接受答案,如果你認爲它值得.. –