if等于0的问题

时间:2018-11-16 16:09:05

标签: php

“如果大于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是否为零?

3 个答案:

答案 0 :(得分:2)

此表达式永远不能为真:

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个或多个结果。

答案 1 :(得分:1)

如果您有自己的数据...

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

然后在开始时提示数组的大小-2。因此,当您检查

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

第一部分是说它是否不包含任何值,那么为什么还要检查它是否不包含任何值!

一种更常见的方法是检查该字段是否不为空,然后检查值...

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

答案 2 :(得分:0)

当int结果等于三时

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