2016-05-30 2 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); 
?> 

Второе утверждение для проверки, если переменная $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) будет лучшим решением, проверьте, имеет ли массив более нуля нулевые записи.

Смежные вопросы