假设以下代码尝试确定数组是否包含超过 3 个元素。请注意,我知道这通常是使用 count($array)
并比较整数来完成的,但我很好奇为什么
$array = [1, 2, 3];
var_dump($array > 3);
返回true
,实际上,它的执行与var_dump
中右侧比较操作数的值无关,因此$array > 3
与 $array > 3000
没有什么不同。
我的问题在于,当以这种完全不合适的方式将数组与整数进行比较时,PHP 内部会发生什么样的类型转换,或者是否存在这种方式确实合适的情况。
最佳答案
关于php - PHP 是如何进行这种(错误的)比较的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50772217/