PHP での str_replace 関数の使用に関する概要
実際のプログラム開発では文字列の置換操作を行うことが多く、str_replace関数も頻繁に使用されます。
この間、「PHP と MySQL Web 開発」という本を読んでいたところ、str_replace の説明が書かれていました。 str_replace の 3 つすべてに配列を使用できますが、説明は比較的簡単だったので、この関数を自分でテストして、各パラメータを配列に渡したときの実行結果をテストすることにしました。
関数プロトタイプ:
mixed str_replace(mixed needle,mixed new_needle,mixed haystack[,int &count]);
needle: 置換される文字列、new_needle: 置換に使用される文字列、haystack: 操作文字列、count: 置換の数 [オプションのパラメータ]
配列を使用した最初の 3 つの実行メソッドのテストに重点を置きます:
配列が使用されない場合、この関数はすべての針を new_needle に直接置き換え、置き換えられた文字列を返します。例: str_replace("m","n","my name is jim!") は、ny nane is jin!
を返します。
1. 針にはアレイのみを使用します。
例:
str_replace(array('m','i'),'n',"my name is jim!");
戻ります: ny nane ns jnn!
見てわかるように、この関数は配列内の各文字列を順番に置換し、置換された文字列を返します。
2. new_needle には配列のみを使用します。
例: str_replace('m',array('n','z'),"私の名前は jim!n"); 戻り値: Arrayy naArraye is jiArray!
この置換はさらに興味深いもので、2 番目のパラメーターにのみ配列を使用する場合、関数はそれを文字列配列として使用し、すべての針を配列に置き換えます。
3. 干し草の山には配列のみを使用します。
例:
str_replace("m","n",array("my name is jim!","the game is over!"));
このステートメントの実行結果は、渡された 2 つの文字列を置き換えた結果である配列を返します。
配列の内容を出力すると、「ny nane is jin! the gai is over!
」と表示されます。
4. neede と new_needle の両方に配列を使用します。
例:
str_replace(array("m","i"),array("n","z"),"my name is jim!");
戻る: ny nane zs jzn!
実行結果を見ると、最初の 2 つのパラメータが配列を使用している場合、関数は配列内の各オブジェクト項目の文字列を置き換え、needle の最初の項目を new_needle の最初の項目に置き換えることがわかります。等々。
ニードル配列が new_deedle より長い場合、たとえば: str_replace(array("m","i","s"),array("n","z"),"my name is jim!"); : ny nane z jzn! ニードル配列内の余分な文字列が空の文字列に置き換えられていることがわかります。
new_needle 配列が needle より長い場合、たとえば、 str_replace(array("m","i"),array("n","z","x"),"my name is jim!") は ny を返します。 nane zs jzn !目に見える new_needle の冗長項目は無視されます。
5. 3 つのパラメータはすべて配列を使用します。
例:
str_replace(array("m","i"),array("n","z"),array("my name is jim!","the game is over"));
返された配列の内容: ny nane zs jzn!the nagane zs over
2 つの文字列を
に置き換えると理解しやすくなります。