php - 为什么字符串大于或小于整数?

标签 php

我不明白为什么这句话两次都成立。?

$hello="foo";
     if($hello<=6){
        echo "yes\n";
     }
     if ($hello>=0) {
        echo "ohh yess!";
     }

输出

yes
ohh yess!

我知道这是整数和字符串之间的非法比较,但为什么它最终还是真的。

最佳答案

这是因为 type juggling in PHP .所以 "foo" 的计算结果为零,因为它已转换为整数。如果您使用相同的运算符 (===),则不会进行类型转换,因此 "foo" 将被视为文字字符串,然后您的语句将计算为 false。

关于php - 为什么字符串大于或小于整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20761906/

相关文章:

php - Laravel 5:无法重新声明 App\Subscription::$fillable

php - 从非常慢的外部数据源获取大量数据

php - Laravel map () : How to alter objects and arrays?

使用 ignore_abort_user() 的 PHP 后台脚本不起作用

PHP - DateTime::__construct():无法解析时间字符串

javascript - 将多个输入值作为不同行插入不同表中

javascript - 为什么 javascript 在 php 中将这些变量作为对象?

php - 如何在 PHP MySQL 中构建查询字符串

php - CodeIgniter 多表选择不起作用

php - 需要水平显示循环中的单元格元素