ホームページ >バックエンド開発 >PHPチュートリアル >php str_ireplace() str_replaceの使用法と違い_PHPチュートリアル
php の str_ireplace() str_replace 関数の最大の違いは、大文字と小文字を区別しないことと、大文字と小文字を区別することであると思います。
str_replace()関数
定義: 文字列を使用して文字列内の他の文字を置換し、大文字と小文字を区別して検索します
文法:
str_replace(検索、置換、文字列、カウント)
例:
コードは次のとおりです | コードをコピー |
出力
hupengstudying.com hupeng
上記の説明と比較例を通じて、PHP の str_replace() 関数と str_ireplace() 関数の違いを皆さんは明確に理解できたと思います
str_replace は
を使用します
実際に次のコードを実行してデバッグできます。
// 提供: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "PHP の Hello World");
// 提供: ピザ、ビール、アイスクリームを毎日食べるべきです
$phrase = "果物、野菜、繊維質を毎日食べる必要があります。";
$healthy = array("果物", "野菜", "食物繊維");
$yummy = array("ピザ", "ビール", "アイスクリーム");
$newphrase = str_replace($healthy, $yummy, $phrase);
// count パラメーターの使用は、PHP 5.0.0 以降で利用可能です
$str = str_replace("ll", "", "いいですね、モリーさん!", $count);
エコー $count; // 2
?>
コードは次のとおりです | コードをコピー |
str_replaceの詳しい説明
配列が使用されていない場合、この関数は replace を直接使用してすべての検索を置換し、置換された文字列を返します。例: str_replace("m","n","my name is jim!") は、ny nane is jin!
1. 検索には配列のみを使用します。
例: str_replace(array('m','i'),'n',"私の名前はジムです!"); 戻り値: ny nane ns jnn!
この関数は配列内の各文字列を順番に置換し、置換された文字列を返すことがわかります。
2. 置換には配列のみを使用します。
例: str_replace('m',array('n','z'),"my name is 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!
4. 検索と置換の両方に配列を使用します。
例: str_replace(array("m","i"),array("n","z"),"my name is jim!") 戻り値: ny nane zs jzn!
実行結果を見ると、最初の 2 つのパラメーターが配列を使用している場合、関数は配列内の各オブジェクト項目の文字列を置換し、検索の最初の項目を置換の最初の項目に置き換えることがわかります。等々。
検索配列が new_deedle より長い場合、例: str_replace(array("m","i","s"),array("n","z"), "my name is jim!"); : ny nane z jzn! 検索配列内の余分な文字列が空の文字列に置き換えられていることがわかります。
置換配列が検索よりも長い場合、たとえば、 str_replace(array("m","i"),array("n","z","x"), "my name is jim!") は ny を返します。 nane zs jzn !Visible replace 冗長項目は無視されます。
5. 3 つのパラメータはすべて配列を使用します。
例: str_replace(array("m","i"),array("n","z"),array("my name is jim!","the game is over")) によって返される配列の内容: ny nane zs jzn!ザ・ガネ・ズ・オーバー
2 つの文字列を個別に置き換えると理解しやすくなります。
str_replaceの文字化け原因の解析
コード化けの問題は、中国語の文字エンコーディングと str_replace の動作方法によって引き起こされます。これは、中国語の文字が 2 バイトを占有し、全角スペースも漢字と同様に 2 バイト、市外局番とビット コードが 1 つずつ占有されるためです。ただし、ビットコードとエリアコードは重複します。次のコードのような:
コードは次のとおりです | コードをコピー |
/* $str = "ティン。"; |
上記のコードの出力結果は「stop」という単語です。 str_replaceはバイト単位で比較するためエラーが発生します