首先 网友遇到的问题如下:
$code 里面放着 10个域名
a.com
b.com
c.com
d.com
........
h.com
$yumi = a.com
if (!strpos($code, $yumi)) { 这个判断 应该是成立的,为啥提示不存在呢?
这个判断条件 if (!strpos($code, $yumi)) 是用来检查变量 $yumi 是否存在于变量 $code 中的字符串中。然而,代码存在问题,可能会导致意外的结果。
strpos() 函数会返回子字符串在字符串中第一次出现的位置,如果子字符串未找到则返回 false 。在 PHP 中,当子字符串在字符串开头被找到时(位置为 0), strpos() 函数会返回 false 。 ! 运算符将结果取反,所以如果子字符串在开头被找到,条件会被判定为真,这可能不是预期的行为。
为了解决这个问题,你可以修改条件如下:
〓〓php代码如下:〓〓
if (strpos($code, $yumi) === false) {
// 当 $yumi 在 $code 中未找到时执行的代码
}
通过使用严格相等运算符 === ,我们确保只有在字符串中未找到子字符串时,条件才会判定为真。