0

初学者在这里,请解释一下不同答案的原因。

$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
4

1 回答 1

2

$pos = strpos($string, "o", $pos)设置$pos为找到的项目的位置,然后$pos++增加它。这将导致在当前匹配开始之后找到下一个匹配。

仅使用$pos++意味着搜索开始的索引将每次增加一个。

于 2013-10-08T18:46:26.133 回答