初学者, 请向我解释不同答案的原因。
$string = "If you’re looking for a way";
$pos = 0;
while (($pos = strpos($string,"o",$pos))!== false) {
echo $pos."<br/>";
$pos++;
}
[上述代码的结果]输出为:
4
13
14
21
$pos = 0;
$string = "If you’re looking for a way";
while ((strpos($string,"o",$pos))!== false) {
echo strpos($string,"o",$pos)."<br/>";
$pos++;
}
[上述代码的结果]输出为:
4
4
4
4
4
13
13
13
13
13
13
13
13
13
14
21
21
21
21
21
21
21
答案 0 :(得分:2)
$pos = strpos($string, "o", $pos)
将$pos
设置为找到的项目的位置,然后$pos++
将其递增。这将导致在当前的之后找到下一个匹配项。
仅使用$pos++
意味着搜索开始的索引每次都会提前一个。