gpt4 book ai didi

PHP 奇怪的比较行为

转载 作者:搜寻专家 更新时间:2023-10-31 22:04:38 25 4
gpt4 key购买 nike

为什么 php 认为空数组大于 1?不反对?而如果和boolean相比就更奇怪了。

var_dump(array() > 1); // Print true
var_dump(array() === false); // Print false
var_dump(array() === true); // Print false again

var_dump(new stdClass > 1); // Print false

var_dump('' > 1); // Print false

PHP 5.4.4-14+deb7u7

最佳答案

array() > 1

确实不是一个有意义的比较,尽管不可否认array() < 1为真似乎更直观。然而,从文档来看,与非数组相比,数组总是更大。

array() === false
array() === true

===检查比较的项目是否为同一类型。数组与 bool 值的类型不同,因此以上两者都是错误的。

'' > 1

上面的空字符串是 0 所以这是错误的。

new stdClass > 1

这给出了 Object of class stdClass could not be converted to int 的通知这可能是您看到错误的原因。

More info here.

关于PHP 奇怪的比较行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21135428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com