在 PHP 中使用这样的结构是否安全:
$filename = $file['filename1'] || $file['filename2'];
我有 JS 的背景,使用起来很安全,因为我们可以信任真/假值。然而,我的同事习惯于使用isset
:
$filename = 'filename'. (isset($file['filename2']) ? '2' : '1');
这对我来说似乎有点冗长。
我在 phabricator.com 上找到了一篇文章,其中概述了 PHP 中不同的真/假值,并提供了这个表格:
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
我会很感激有人在这件事上给我一些见解。