PHP 0与错误歧义

时间:2016-04-24 19:58:27

标签: php mysql

我一直在努力建立一个系统,用PHP检查MySQL数据库中的某些标志。要查看字符串中是否有某个字母,我使用函数strpos()。如果我正在检查的字母恰好是字符串中的第一个字母,则函数返回0.但是这个结果似乎与false的布尔值同义。我用以下代码测试了这个理论:

if(0 == false){
    echo 'true';
}

低并且看到此计算结果为true并回显块内的输出。那么,有没有一种逻辑方法来区分索引为0的字符或者根本不属于字符串的一部分?我遇到的一个选择是基本上在flags字符串前加上一些字符,如下划线。这样,任何有意义的字符都不会出现在函数返回值的索引0处。这似乎是一个非常肮脏的补丁方式来解决问题。如果您有任何其他想法,我将非常感谢您的帮助。 谢谢你的阅读。

1 个答案:

答案 0 :(得分:1)

使用===

if(0 === false){
    // will never be true
    echo 'true';
}