gpt4 book ai didi

php - 关于 PHP 中 strpos 的问题

转载 作者:行者123 更新时间:2023-12-03 20:12:21 24 4
gpt4 key购买 nike

我只是想弄清楚...

$mystring = "/abc/def/hij";
$find = "/abc";

echo(strpos($mystring, $find) . "<br>");
if (strpos($mystring, $find) >= 0) {
echo("found");
} else {
echo("not found");
}

这将给出:0发现

$mystring = "/abc/def/hij";
$find = "/fffff";

echo(strpos($mystring, $find) . "<br>");
if (strpos($mystring, $find) >= 0) {
echo("found");
} else {
echo("not found");
}

输出:[空白的]发现

现在,如果我更改比较器并使用“!= False”而不是“>= 0”

$mystring = "/abc/def/hij";
$find = "/fffff";

echo(strpos($mystring, $find) . "<br>");
if (strpos($mystring, $find) **!= false**) {
echo("found");
} else {
echo("not found");
}

这几乎适用于所有情况,除非我在字符串的开头查找子字符串。例如,这将输出“未找到”:

$mystring = "/abc/def/hij";
$find = "/abc";

echo(strpos($mystring, $find) . "<br>");
if (strpos($mystring, $find) != false) {
echo("found");
} else {
echo("not found");
}

那么我怎样才能让它发挥作用呢?我只想知道字符串中是否存在子字符串,如果子字符串是开头或整个字符串,它应该给我“真”...

最佳答案

使用 !== 运算符进行测试。这将比较类型和值,而不仅仅是值:

$mystring = "/abc/def/hij";
$find = "/abc";

echo(strpos($mystring, $find) . "<br>");
if (strpos($mystring, $find) !== false) {
echo("found");
} else {
echo("not found");
}

关于php - 关于 PHP 中 strpos 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1004897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com