La vérification de tableaux vides: le comte vs vide

Cette question sur " laComment savoir si un tableau PHP est vide' m'a fait penser à cette question

Est-il une raison que count doit être utilisé au lieu de empty au moment de déterminer si un tableau est vide ou pas?

Ma pensée personnelle serait le cas si les 2 sont équivalents pour le cas de tableaux vides, vous devez utiliser empty parce qu'il donne une valeur booléenne réponse à un booléen question. À partir de la question ci-dessus, il semble que count($var) == 0 est la méthode populaire. Pour moi, bien que techniquement correct, n'a pas de sens. E. g. Q: $var, êtes vous vide? A: 7. Hmmm...

Est-il une raison que je devrais utiliser count == 0 au lieu de cela ou tout simplement une question de goût personnel?

Comme souligné par d'autres dans les commentaires pour maintenant supprimé réponse, count aura un impact sur les performances pour les grands tableaux, car il devra compter tous les éléments, tandis que empty pouvez arrêter dès qu'il sait qu'il n'est pas vide. Donc, si ils donnent les mêmes résultats dans le cas présent, mais count est potentiellement inefficace, pourquoi n'aurions-nous jamais utiliser count($var) == 0?

  • Je suis en supposant que votre intention est de limiter la conversation exclusivement à des tableaux, mais il pourrait être intéressant de noter que le jeu change du tout au tout si vous travaillez avec des objets (par exemple, qui mettent en œuvre Dénombrable, Itérateur, etc.).
  • Un tableau vide est égale à false en PHP, pas besoin de empty() ou count().
  • Le Code s'il vous plaît.
  • Comme dans, il suffit de faire: if (!$myArray) { echo "array is empty"; } sandbox.onlinephpfunctions.com/code/...
  • De nos jours, l'option populaire dans la question est à l'aide de empty().
InformationsquelleAutor Dan McGrath | 2010-02-07