この間、「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!");Return: ny nane ns jnn!を参照してください。この関数は配列内の各文字列を順番に置換し、置換された文字列を返します。
2. new_needle には配列のみを使用します。
例: str_replace('m',array('n','z'),"my name is jim!n") 戻り値: Arrayy naArraye は jiArray!
この置換比較興味深いことに、2 番目のパラメーターにのみ配列を使用すると、関数はそれを文字列配列として使用し、すべてのニードルを配列に置き換えます。
3. 干し草の山には配列のみを使用します。
例: str_replace("m","n",array("my name is jim!","the game is over!")) このステートメントの実行結果は配列を返します。つまり、それぞれ、渡された 2 つの文字列を置換した後の結果です。
配列の内容を出力すると、次のようになります: ny nane is jin! the gane is over!
4. ニードルと new_needle の両方に配列を使用します。
例: str_replace(array("m","i"),array("n","z"),"私の名前はジムです!") 戻り値: ny nane zs jzn!
実行結果を見ると、最初の 2 つのパラメーターが配列を使用している場合、関数は配列内の各オブジェクト項目の文字列を置き換え、needle の最初の項目を new_needle の最初の項目に置き換えることがわかります。等々。
ニードル配列が new_deedle より長い場合、例: str_replace(array("m","i","s"),array("n","z"),"私の名前はjim!" ); Return: ny nane z jzn! ニードル配列内の余分な文字列が空の文字列に置き換えられていることがわかります。
new_needle 配列が needle より長い場合、例: str_replace(array("m","i"),array("n","z","x"),"my name is jim!" ) return ny nane zs jzn! new_needle の冗長な項目が無視されていることがわかります。
5. 3 つのパラメーターはすべて配列を使用します。
例: str_replace(array("m","i"),array("n","z"),array("私の名前はジムです!","ゲームはover ")) 返される配列の内容: ny nane zs jzn! the gane zs over
これは理解しやすいです。2 つの文字列を別々に置き換えます。
忘れないように簡単にまとめました!