For この間、「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 を返します。PHP 関数 str_replace は針の配列のみを使用します。
例: str_replace(array('m','i'),'n',"my name is jim!"); Return: ny nane ns jnn!
関数の順序は配列内の各ペアで文字列を置換し、置換された文字列を返します。
2. PHP 関数 str_replace は new_needle にのみ配列を使用します。
例: str_replace('m',array('n','z'),"my name is jim!n") 戻り値: Arrayy naArraye is jiArray!
この置換は、2 番目だけであれば、さらに興味深いものになります。 one パラメーターで配列が使用されている場合、関数はそれを文字列配列として使用し、すべてのニードルを配列に置き換えます。
3. PHP 関数 str_replace は干し草の山にのみ配列を使用します。
例: str_replace("m","n",array("my name is jim!","the game is over!")) このステートメントの実行結果は配列を返します。つまり、渡された 2 つです。 in 文字列置換後の結果。
配列の内容を出力すると、次のようになります: ny nane is jin! the gane is over!
4. PHP 関数 str_replace は、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!"); return: 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. PHP 関数 str_replace の 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 over2つの文字列を別々に置き換えると分かりやすいです。