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
?
I generally use empty
. Im not sure why people would use count really - If the array is large then count takes longer/has more overhead. If you simply need to know whether or not the array is empty then use empty.