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);
?>

2 番目のステートメントは、変数$varが true かどうかを確認するためのものです。$var が true でないかのように、この行を翻訳できます。

<?php
$array = array("x", "x", "x");
if(!$array) {
    echo "True";

}else{

    echo "Does nothing..";
}
?>

3 番目のステートメントは、カウント$varが 0 より大きいかどうかを確認するためのものです。

<?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..";
}
?>

したがって、基本的にこれら 4 つのステートメントはすべて異なる意味を持ちます。あなたの質問への答えはif(count($arr) > 0)、配列にゼロ以上のエントリがあるかどうかを確認するための最良の解決策です。

于 2016-05-30T13:31:27.037 に答える