count(false)结果为1

count(false)结果为1

今天在代码中遇到count($list);返回的结果是1,原来查询结果为false相当于count()了false然后返回结果为1

Clipboard Image.png

函数解释是这样的:

如果变量不是数组类型或者实现了Countable接口的对象,将返回1,有一个例外如果变量是NULL则结果是0。

碰到的同学以后要注意哦!

今天刚看到  

不可数对象的计数

当一个标量或者没有实现 Countable 接口 的对象调用 count() 方法时会返回 1(不合逻辑)。

在 PHP 7.2 版本 中,对以标量、null、或者一个没有实现 Countable 接口 接口的对象作为参数调用 count() 方法的情况,新增了一个 WARNING 警告。

image.png