【问题标题】:String comparison in PHP doesn't make sense … [duplicate]PHP中的字符串比较没有意义...... [重复]
【发布时间】:2021-08-16 05:57:52
【问题描述】:

我有这个非常基本的 PHP 代码,我想不通。在下面的示例中,为什么当 $i = 0 时我得到“匹配”,而不是剩余的行……?似乎可以通过使用 === 而不是 == 来解决,但我不明白为什么。

<?php

$text = 'foo bar';

for ($i = 0; $i <= 5; $i++) {
    echo '<p>' . $i . ': ';

    if ($i == $text) {
        echo 'MATCH!';
    } else {
        echo 'NOPE';
    }
}

?>

【问题讨论】:

  • 你为什么要比较一个字符串和一个数字?

标签: php


【解决方案1】:

PHP 8 已修复该部分。

strcmp=== 一起使用

// Use strcmp() function 
if (strcmp($i, $text) === 0) { // check datatype as well
    echo 'MATCH!';
} else {
    echo 'NOPE';
}

【讨论】:

  • 啊啊!完美的!非常感谢。 :-)
猜你喜欢
  • 2016-01-03
  • 2014-10-18
  • 1970-01-01
  • 1970-01-01
  • 2011-10-07
  • 1970-01-01
  • 1970-01-01
  • 2013-01-03
  • 1970-01-01
相关资源
最近更新 更多