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 に答える