程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中strtr字符串替換用法詳解

PHP中strtr字符串替換用法詳解

編輯:PHP綜合

本文實例講述了PHP中strtr字符串替換用法。分享給大家供大家參考。具體分析如下:

strtr(string,from,to)或者strtr(string,array)

首先針對strtr函數第一種方式,我們看看下面的舉例,代碼如下:
復制代碼 代碼如下:<?php
echo strtr("I Love you","Lo","lO");
?>
得到的結果是:
1 I lOve yOu
這個結果提醒我們,1.strtr它是區分大小寫的,2.strtr的替換是很特殊的,你注意看後面那個yOu,中間的O被替換的,這顯然不是我們的本意,再舉一個特殊例子,說明這個php sttr函數的怪異,代碼如下:
復制代碼 代碼如下:<?php
echo strtr("I Love you","Love","");
?>
結果是:
I Love you
什麼也不會改變,所以strtr需要注意的是:不能被替換為空,也就是末位那個參數不能是空字符串,當然空格是可以的,再次舉例strtr函數的另一種情況,代碼如下:
復制代碼 代碼如下:<?php
echo strtr("I Loves you","Love","lOvEA");
?>
運行結果是
1 I lOvEs yOu
注意看第三個參數的A,在結果中並沒有出現.

我不建議用strtr以少換多,既然這個strtr函數挺麻煩為什麼還要用呢?原因是,它的速度很快,據說,strtr 比 str_replace 快四倍,所以能用strtr函數的時候一定要用,那怎麼用才舒服?這就是它的第二種情況:strtr(string,array)

strtr符合意願的使用方法,代碼如下:
復制代碼 代碼如下:<?php
$table_change = array('you'=>'her sister');
echo strtr("I Love you",$table_change);
?>
結果為:
I Love her sister
小技巧:你想到替換什麼你就往數組加什麼,比如代碼如下:
復制代碼 代碼如下:<?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 是行不通的,亂七八糟說了一通,其實關於strtr最想說的就是這個後面的用法了簡單方便,貌似後面的用法也忽略掉了前後字符長度不同的問題,以上php strtr函數實驗,PHP5.2 測試通過,代碼如下:
復制代碼 代碼如下:<?php
//這個時候輸出的為baicai而不是bai123cai,因為str("pao")<strlen("bai123")
echo strtr("paocai!","pao","bai123");
?>
實例2:當被替換的值長度小於被替換目標的時候,以下為引用的內容,代碼如下:
復制代碼 代碼如下:<?php
//這個時候輸出的為laocai而不是lacai,因為str("pao")>strlen("la")
echo strtr("paocai!","pao","la");
?>
實例3:支持數組替換,以下為引用的內容,代碼如下:
復制代碼 代碼如下:<?php
$Arr=array('ao'=>'oa','ai'=>'ia');
echo strtr("paocai!",$Arr); //這個時候輸出的為poacia
?>
其次是str_replace,以下為引用的內容,代碼如下:
復制代碼 代碼如下:<?php
echo str_replace("you","paocai","I love you!"); //會輸出I love paocai!
?>

希望本文所述對大家的PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved