この間、「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:置換数値of time [オプションのパラメータ]
配列を使用する場合、最初の 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 つです。 in 文字列置換後の結果。
配列の内容を出力すると、次のようになります: ny nane is jin! the gane is over!
4. 配列をneedleとnew_needleの両方に使用します。
例: str_replace(array("m","i"),array("n","z"),"my name is jim!") 戻り値: ny nane zs jzn! find out では、最初の 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 gane zs over
2つの文字列を別々に置き換えると分かりやすいです。
忘れないように簡単にまとめました!