我們在實際編程中,當想實現字符串替換這一功能時,通常都會用到strtr()函數。下面我們就來具體講解一下PHP字符串替換的是實現方法。
v先來看看這個PHP字符串替換函數 strtr()的兩種狀態
strtr(string,from,to)
或者strtr(string,array)
首先針對strtr函數第一種方式
我們看看下面的PHP字符串替換舉例:
- < ?php
- echo strtr("I Love you
","Lo","lO");- ?>
得到的結果是
I lOve yOu
這個結果提醒我們
1.strtr它是區分大小寫的
2.strtr的替換是很特殊的,你注意看後面那個yOu,中間的O被替換的,這顯然不是我們的本意
再舉一個特殊例子,說明這個php sttr函數的怪異
- < ?php
- echo strtr("I Love
you","Love","");- ?>
結果是
I Love you
PHP字符串替換什麼也不會改變,所以strtr需要注意的是:
3.不能被替換為空,也就是末位那個參數不能是空字符串,當然空格是可以的。
再次舉例strtr函數的另一種情況
- < ?php
- echo strtr("I Loves you","Love","lOvEA");
- ?>
結果是
I lOvEs yOu
注意看第三個參數的A,在結果中並沒有出現
4.我不建議用strtr以少換多
ok,既然這個strtr函數挺麻煩為什麼還要用呢?
原因是,它的速度很快
據說,strtr 比 str_replace 快四倍
5.PHP字符串替換能用strtr函數的時候一定要用
那怎麼用才舒服?
這就是它的第二種情況
strtr(string,array)
6.strtr符合意願的使用方法
- < ?php
- $table_change = array('you'=>'her sister');
- echo strtr("I Love you",$table_change);
- ?>
結果為
I Love her sister
7.小技巧:你想到PHP字符串替換該替換什麼你就往數組加什麼
比如
- < ?php
- $table_change = array('you'=>'her sister');
- $table_change += array('Love' => 'hate');
- echo strtr("I Love you",$table_change);
- ?>
結果是
I hate her sister
再次提醒那個Love 寫成love 是行不通的哦。
ok,亂七八糟說了一通,其實關於strtr最想說的就是這個後面的用法了
簡單方便。
貌似後面的用法也忽略掉了前後字符長度不同的問題
以上PHP字符串替換實驗,PHP5.2 測試通過。