この記事では、PHP での strtr 文字列の置換について紹介します。学習が必要な方は、この記事を詳しく参照してください。
strtr(文字列,from,to)
または strtr(string,array)
まず、strtr関数の最初のメソッドに注目してください
次の例を見てみましょう:
コードは次のとおりです | コードをコピー |
echo strtr("愛しています","Lo","lO"); 得られた結果は 1 愛しています |
この結果は私たちに思い出させます
1.strtr は大文字と小文字が区別されます
2. strtr の置き換えは非常に特殊です。真ん中の O を見てください。これは明らかに私たちの意図ではありません。
コードをコピー | |
echo strtr("愛しています","愛しています","");
?> 愛しています
|
3. 空に置き換えることはできません。つまり、最後のパラメータを空の文字列にすることはできません。もちろん、スペースは許可されます。
コードをコピー | |
echo strtr("愛しています","愛","lOvEA");
?> 1私はあなたを愛しています
|
4. より少ないものをより多くのものに交換するために strtr を使用することはお勧めしません
理由は、早いから
strtrはstr_replaceより4倍速いと言われています
それで
5. 可能な場合は必ず strtr 関数を使用してください
今回は2例目です
strtr(文字列,配列)
6. 要望に応じたstrtrの使い方
コードをコピー | |
$table_change = array('あなた'=>'彼女の妹');
echo strtr("愛しています",$table_change); ?> |
私は彼女の妹が大好きです
たとえば
コードをコピー | |
$table_change = array('あなた'=>'彼女の妹');
$table_change += array('愛' => '憎しみ'); |
コードは次のとおりです | コードをコピー |
//このときの出力は、str("pao") であるため、bai123cai ではなく baicai です echo strtr("パオカイ!","パオ","bai123"); ?> |
例2: 置換後の値の長さが置換対象より小さい場合
以下、引用内容です
コードは次のとおりです | コードをコピー |
//str("pao")>strlen("la") であるため、この時点の出力は lacai ではなく laocai になります |
例 3: 配列の置換をサポートする
以下、引用内容です
コードは次のとおりです | コードをコピー |
$Arr=array('ao'=>oa','ai'=>ia'); echo strtr("paocai!",$Arr); //この時の出力はpoacia ?> |
続いて str_replace:
以下、引用内容です
コードは次のとおりです | コードをコピー |
echo str_replace("you","paocai","I love you!") //パオカイが大好きです! と出力されます。?> |
詳細については、http://www.bkjia.com/phper/18/strtr_str_replace.htm を参照してください。