2011-02-06 2 views
2

привет может объяснить, почему это вернет «Массив состоит из 0 элементов». :PHP Count Array Elements

$arr = array(1,3,5); 
$count = count($arr); 
if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements."; } 

Кстати, это одна викторина я работаю через, и я не знаю, почему это правильный ответ?

ответ

8

Вы назначаете $count на 0 в условном операторе

Вместо того, чтобы ...

if ($count = 0) 

ли это

if ($count === 0) 
+0

Ах, конечно, у меня было ощущение, что это потому, что он was =, not ==, thanks – benhowdle89

+0

triple ===? это правильно? – benhowdle89

+4

да, проверьте документы здесь, чтобы получить полное объяснение ... http://php.net/manual/en/language.operators.comparison.php – jondavidjohn

0

Всякий раз, когда вы собираетесь проверить одну логика означает, проверка дважды, если мы используем правильные операторы.

Большинство из них делает ту же ошибку, как,

if ($count = 0) // here you are assigning the value to $count variable 

Присвоить значения вместо сравнения значений.

if ($count == 0) // here variable is compared 

Мы можем использовать больше операторов для сравнения логического condition.Such как (>, <,> =, < =, ==)