PHP中count函数的一个坑

陪她去流浪 桃子 2015年12月27日 阅读次数:1953

PHP完全是我瞎折腾学会的,没有系统地学过这门语言,所以踩到坑是正常的。

我博客程序中有一个查询文章的函数,此函数在失败时返回false,成功时返回查询到的文章数组。我想当然地认为count只会对数组有效,对其它值应当返回0,但结果却不是。

官方文档说:Returns the number of elements in array_or_countable. If the parameter is not an array or not an object with implemented Countable interface, 1 will be returned. There is one exception, if array_or_countable is NULL, 0 will be returned.

对于数组或可计数的东西,返回元素的个数;如果不是数组或不可计数,则返回1;还有一个例外,就是参数为null时,返回0。

我就应得非常奇怪,为什么当不是数组或不可计数时返回1?故意留坑吗?无暇去看源代码。。。

所以以后判断的时候还是先判断下是否是数组,然后再计数。is_array & count。

这篇文章的内容已被作者标记为“过时”/“需要更新”/“不具参考意义”。

标签:php