【问题标题】:PHP - "more that zero" in if conditionPHP - if 条件下的“多于零”
【发布时间】:2016-09-28 08:15:52
【问题描述】:

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

【问题讨论】:

  • if(count($arr) > 0)

标签: php coding-style code-standards


【解决方案1】:

第一个语句用于计数,如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是否等于0。

<?php
# Output: "Does nothing.."
$array = array("x", "x", "x");
if($array == 0) {
    echo "Is not empty!";

}else{

    echo "Does nothing..";
}
?>

所以基本上所有这四个语句都有不同的含义。作为对您的问题的回答,if(count($arr) &gt; 0) 是检查数组是否有多个条目的最佳解决方案。

【讨论】:

    猜你喜欢
    • 2017-03-18
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    相关资源
    最近更新 更多