0

通常在 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)。

4

1 回答 1

0

第一个语句是按它所说的计数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)是检查数组是否有超过零项的最佳解决方案。

于 2016-05-30T13:31:27.037 回答