首页 > 解决方案 > if 等于 0 的问题

问题描述

'如果大于 1' 有效...

if (count($resort_results) > 0 && $resort_results['total'] > 0) :

'如果等于 0' 不起作用...

if (count($resort_results) == 0 && $resort_results['total'] == 0) :

当输出$resort_results为:-

array(2) { ["total"]=> string(1) "0" ["results"]=> array(0) { } }

我可能错过了明显的,但为什么我不能说如果$resort_results为零?

标签: php

解决方案


这个表达式永远不会是真的:

count($resort_results) == 0 && $resort_results['total'] == 0

如果$resort_results['total']键存在,则count($resort_results)根据定义必须至少为 1。

如果那个数组是这样的,它的计数是 2。

array(2) { ["total"]=> string(1) "0" ["results"]=> array(0) { } }
//    ^ That's what this 2 means

也许你的意思是

if (count($resort_results['results']) == 0 && $resort_results['total'] == 0)

仅从上下文来看,我假设total它是一个值并且results包含 0 个或多个结果。


推荐阅读