php - PHP 是如何进行这种(错误的)比较的?

标签 php

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

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

返回true,实际上,它的执行与var_dump中右侧比较操作数的值无关,因此$array > 3$array > 3000 没有什么不同。

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

最佳答案

来自PHP manual ,它说:

array anything array is always greater

array comparison

所以当你将任何东西与数组进行比较时,数组都更大。我现在要检查数组与对象。

关于php - PHP 是如何进行这种(错误的)比较的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50772217/

相关文章:

php - 从网站抓取数据时,撇号未存储在 Mysql 数据库中

PHP MySQL - SELECT SUM 返回问题

php - PHP中的严格模式

php - 在同一个表 yii2 中具有两个属性的动态 View

PHP foreach 数组获得前 9 个结果,然后获得第二个 9

php - 将 PHP 数组更改为 Smarty 数组并读取模板中的结果

Javascript 代码无法在使用 AJAX 加载的 PHP 页面上运行

php - 如何将一个 mySQL 表中的数据显示到 php 中的多个表中?

javascript - while 循环因 jquery 中的某些数学函数而崩溃

php - 为什么带有 2 个视频的 ffmpeg concat 会丢失第二个音频?