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