2016-05-30 3 views
0

は、多くの場合、PHPの私は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のような標準が存在する可能性があります。

+0

if(count($ arr)> 0) –

答えて

0

最初の文は、count()と表示されています。これは、たとえば配列値にすることができます。

<?php 
$array = array("x", "x", "x"); 
# Output: 3 
echo count($array); 
?> 

2番目のステートメントは、変数$varが真であるかないかをチェックするためのものです。の$ varが真実でない場合は、この行は、第三文が$varのカウントがゼロより大きいかどうかをチェックするためのものです

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

}else{ 

    echo "Does nothing.."; 
} 
?> 

...そして、として翻訳することができます。

<?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)は、配列がゼロより多くのエントリを持っているかどうかをチェックする最良の解決策になります。