ホームページ >バックエンド開発 >PHPチュートリアル >php str_ireplace() str_replaceの使用法と違い_PHPチュートリアル

php str_ireplace() str_replaceの使用法と違い_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-20 10:59:111620ブラウズ

php の str_ireplace() str_replace 関数の最大の違いは、大文字と小文字を区別しないことと、大文字と小文字を区別することであると思います。 ​

str_replace()関数

定義: 文字列を使用して文字列内の他の文字を置換し、大文字と小文字を区別して検索します
文法:

str_replace(検索、置換、文字列、カウント)
例:

コードは次のとおりです コードをコピー

出力

hupengstudying.com hupeng

上記の説明と比較例を通じて、PHP の str_replace() 関数と str_ireplace() 関数の違いを皆さんは明確に理解できたと思います

str_replace は
を使用します 実際に次のコードを実行してデバッグできます。


$bodytag = str_replace("%body%", "黒", "

// 提供: 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 つずつ占有されるためです。ただし、ビットコードとエリアコードは重複します。次のコードのような:

コードは次のとおりです コードをコピー

/*
xa1xa1 =>「 」(中国語全角スペース)
xcdxa1 => 「ティン」
xa1xa3 => "." (中国語の全角ピリオド)
xcdxa3 => 「停止」
*/

$str = "ティン。";
echo str_replace(" ", "", $str);
?>;

上記のコードの出力結果は「stop」という単語です。 str_replaceはバイト単位で比較するためエラーが発生します


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445620.html技術記事 PHP の str_ireplace() str_replace 関数の最大の違いは、一方は大文字と小文字を区別しないこと、他は同じであることだと思います。 str_rep...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。