松散地检查 strpos() 返回值会产生意想不到的结果
在尝试定位另一个字符串中的字符串出现时,您可能会在使用时遇到差异strpos() 函数。使用 !== false 检查两个字符串是否存在并确保第一个字符串在第二个字符串之前的预期行为可能会产生意想不到的结果。
如 PHP 手册中所述,当字符串不存在时,strpos() 返回 false成立。但是,当字符串从位置 0 开始时(导致 strpos() 返回值为 0),语句 strpos($grafik['data'], $ss1) !== false 可能会被评估为 false。
要纠正此问题,请将代码中的 !== false 替换为 === 0。此修改可确保当 strpos() 返回 0 时该语句的计算结果为 true,表明该字符串出现在指定字符串的开头。
以上是为什么对于从零位置开始的字符串,使用'!== false”检查'strpos()”会失败?的详细内容。更多信息请关注PHP中文网其他相关文章!