通常在 php 中我会看到类似的代码行
if(count($arr)) // $arr not empty
或者
if(!$var) // $var is 0
但对我来说,更多信息是风格
if(count($arr) > 0) // or if(!empty($arr))
或者
if($var == 0)
哪个做同样的检查。哪个选项更正确?这不是问题,而只是代码风格的问题。对于这样的条件,可能存在一些标准(如 PSR-2)。
通常在 php 中我会看到类似的代码行
if(count($arr)) // $arr not empty
或者
if(!$var) // $var is 0
但对我来说,更多信息是风格
if(count($arr) > 0) // or if(!empty($arr))
或者
if($var == 0)
哪个做同样的检查。哪个选项更正确?这不是问题,而只是代码风格的问题。对于这样的条件,可能存在一些标准(如 PSR-2)。
第一个语句是按它所说的计数count()
。例如,这可以是数组值。
<?php
$array = array("x", "x", "x");
# Output: 3
echo count($array);
?>
第二条语句用于检查变量$var
是否为真。您可以将此行翻译为好像 $var 不正确,然后..
<?php
$array = array("x", "x", "x");
if(!$array) {
echo "True";
}else{
echo "Does nothing..";
}
?>
第三条语句用于检查计数$var
是否大于零。
<?php
# Output: "Is not empty!"
$array = array("x", "x", "x");
if(count($array) > 0)
echo "Is not empty!";
}else{
echo "Empty..";
}
?>
最后一个用于检查是否$var
等于零。
<?php
# Output: "Does nothing.."
$array = array("x", "x", "x");
if($array == 0) {
echo "Is not empty!";
}else{
echo "Does nothing..";
}
?>
所以基本上这四个语句都有不同的含义。作为对您的问题的回答将if(count($arr) > 0)
是检查数组是否有超过零项的最佳解决方案。