这个(错误的)比较是如何通过PHP完成的?

时间:2018-06-09 08:08:45

标签: php

假设以下代码尝试确定数组是否包含3个以上的元素。请注意,我知道这通常使用count($array)并比较整数来完成,但我很好奇为什么

$array = [1, 2, 3];
var_dump($array > 3);

返回true,它实际上独立于var_dump中右对齐操作数的值,因此$array > 3$array > 3000没有区别。< / p>

我的问题在于,当数组与完全不合适的方式的整数进行比较时,在PHP内部发生什么类型的类型转换,或者是否存在这种方式确实合适的情况。 / p>

1 个答案:

答案 0 :(得分:2)

来自PHP manual,它说:

  

array anything array is always greater

     

array comparison

所以当你用数组比较任何东西时,那么数组就更大了。我现在要检查数组与对象。