在某些情况下,当空值不是问题时,我不检查变量。
例如:
$fruits = array("apple","banana");
foreach ($fruits as $a) {
$res .= ", $a";
}
echo "This are the fruits you like: ".$res;
现在,如果$果实恰好是空的,这不是问题,简单的列表将是空的(我知道这不是很优雅,我可以使用条件语句将答案更改为"您不喜欢任何水果",但这只是一个例子!)
我只是想知道一般来说,检查阵列是否为空。简而言之,从性能的角度来看,这是更好的,还是没有任何实际区别:
if (!empty($fruits)) foreach()... and so on
谢谢善意
任何性能提高都可以忽略不计。这称为微观优化。专注于编写良好的代码,不再担心微观化。
我会去做这样的事情:
if(!empty($fruit) && is_array($fruit)){
echo "This are the fruits you like: " . implode(", ", $fruit);
}
好吧,这取决于数组的填充。例如,如果是用户输入,则可能需要确保它不是空的,否则,如果不需要,则不要。
肯定是每盘的。另外,使用空()时要小心;如果值为0,则即使存在一个值,它也会返回true。您可以使用strlen()解决此处:)
echo is_array($array) ? implode(', ', $array) : false;
单线解决方案..
或者您可以使用,计数。
eg:count($ array)> 0 ....
您还可以使用isset()
,该CC_1将检查该变量是否具有值0或其他方式。
您要检查数组$fruits
是否为空,然后按照韦恩建议使用implode
。
if(!empty($fruits)){
echo "This are the fruits you like: " . implode(", ", $fruits);
}
is_array
并不是真正的必要
在这种情况下,我不会认为这会产生巨大的不同。但是,如果它是空的$ res永远不会被声明,这可能会导致错误,并且错误总是不好的。