2011-02-06 5 views
2

Salut quelqu'un peut-il expliquer pourquoi cela retournerait "Un tableau se compose de 0 éléments." :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."; } 

Soit dit en passant, c'est un quiz je travaille à travers et je ne sais pas pourquoi cela est la bonne réponse?

Répondre

8

Vous assignez $count-0 dans votre déclaration conditionnelle

Au lieu de ...

if ($count = 0) 

Pour ce faire,

if ($count === 0) 
+0

Ah, bien sûr, j'ai eu le sentiment que c'était parce qu'il était =, pas ==, merci – benhowdle89

+0

triple ===? Est-ce correct? – benhowdle89

+4

oui, consultez les documents ici pour une explication complète ... http://php.net/manual/fr/language.operators.comparison.php – jondavidjohn

0

Chaque fois que vous allez vérifier un moyen logique, vérifier deux fois si nous utilisons des opérateurs corrects.

La plupart d'entre eux font la même erreur comme,

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

affecter les valeurs au lieu de comparer les valeurs.

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

Nous pouvons utiliser plusieurs opérateurs pour comparer la condition.Such logique comme (>, <,> =, < =, ==)