问题,以下代码如何执行回显:
$str = "Hello World";
if (strpos($str, 'He') !== false) {
echo 'GOOD';
}
但这不是:
$str = "Hello World";
if (strpos($str, 'He') === true) {
echo 'GOOD';
}
这两个条件是否相等,因为它们都在检查返回的布尔值是否设置为true? !== false是否等于=== true,如果不是,为什么不呢?
我感谢您的澄清。
最佳答案
不,它们不等同:
strpos()返回布尔值FALSE
(如果找不到)或整数偏移值(如果在偏移量0处找到,则可以为0
,依此类推),但是它从不返回布尔值TRUE
。即布尔TRUE
!==一个INT
。
关于php - strpos意外失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20892609/