有人可以向我解释这种"怪胎"行为是否符合我的预期.
我正在重新编写一些代码,并得到了这个:
我在$ data上创建了一些结果并创建了这个,以确保它的$ data有一些信息.
所以:
if(!$data || empty($data) || count($data) == 0)
Run Code Online (Sandbox Code Playgroud)
并且在if的地方.
所以我做了一些var_dump来看和哇.
var_dump(!$data , empty($data) , count($data));
Run Code Online (Sandbox Code Playgroud)
去吧:
bool(true)
bool(true)
int(1)
Run Code Online (Sandbox Code Playgroud)
count data = 1和!$ data = true和empty($ data)= true?
我希望不是愚蠢的问题,对不起,如果是的话.
返回var中的元素数.如果var不是数组或具有已实现Countable接口的对象,则将返回1.有一个例外,如果var为NULL,则返回0.
最有可能$data的不是阵列.用它上面的var_dump仔细检查
var_dump($data)
Run Code Online (Sandbox Code Playgroud)
Count返回var中元素的数量.如果var不是数组或具有已实现Countable接口的对象,则将返回1.有一个例外,如果var为NULL,则返回0.
查看PHP文档http://php.net/manual/en/function.count.php