Checking for empty arrays: count vs empty

Posted by Dan McG on Stack Overflow See other posts from Stack Overflow or by Dan McG
Published on 2010-02-07T05:56:36Z Indexed on 2010/05/26 0:01 UTC
Read the original article Hit count: 309

Filed under:
|
|

This question on 'How to tell if a PHP array is empty' had me thinking of this question

Is there a reason that count should be used instead of empty when determining if an array is empty or not?

My personal thought would be if the 2 are equivalent for the case of empty arrays you should use empty because it gives a boolean answer to a boolean question. From the question linked above, it seems that count($var) == 0 is the popular method. To me, while technically correct, makes no sense. E.g. Q: $var, are you empty? A: 7. Hmmm...

Is there a reason I should use count == 0 instead or just a matter of personal taste?

As pointed out by others in comments for a now deleted answer, count will have performance impacts for large arrays because it will have to count all elements, whereas empty can stop as soon as it knows it isn't empty. So, if they give the same results in this case, but count is potentially inefficient, why would we ever use count($var) == 0?

© Stack Overflow or respective owner

Related posts about php

Related posts about best-practices