演示PHP substr函數使用
作者:佚名
大家知道PHP substr 只提供字符提取功能,沒有提供字符過濾功能,如果過濾數字的話,可以用str_replace函數。
PHP是我們現在最常用的動態開發WEB頁面的語言,字符串的處理在編程中是最長用到的,我們這里就詳細的談談PHP substr的利用。有一堆類似以下變量$abc的字符串,末尾都多出來了一個,(逗號),我想去掉末尾的逗號,為了驗證不同的處理方法的執行時間,以下是我寫的一個對比程序進行試驗:
程序一,PHP substr
- <?php
- function getmicrotime(){
- list($usec, $sec) = explode(" ",microtime());
- return ((float)$usec + (float)$sec);
- }
- $time_start = getmicrotime();
- $abc="重慶,萬州,涪陵,渝中,大渡口,江北,沙坪壩,九龍坡,南岸,北碚,萬盛,雙撟,渝北,巴南,黔江,長壽,綦江,潼南,銅梁,
大足,榮昌,壁山,梁平,城口,豐都,墊江,武隆,忠縣,開縣,云陽,奉節,巫山,巫溪,石柱,";- $l=strlen($abc);
- $abc=substr($abc,0,$l-1);
- echo $abc."<br>";
- $time_end = getmicrotime();
- echo ($time_end-$time_start)*1000;
- ?>
程序二,利用正則表達式
- <?php
- function getmicrotime(){
- list($usec, $sec) = explode(" ",microtime());
- return ((float)$usec + (float)$sec);
- }
- $time_start = getmicrotime();
- $abc="重慶,萬州,涪陵,渝中,大渡口,江北,沙坪壩,九龍坡,南岸,北碚,萬盛,雙撟,渝北,巴南,黔江,長壽,綦江,潼南,銅梁,
大足,榮昌,壁山,梁平,城口,豐都,墊江,武隆,忠縣,開縣,云陽,奉節,巫山,巫溪,石柱,";- $abc=str_replace(",$","",$abc);
- echo $abc."<br>";
- $time_end = getmicrotime();
- echo ($time_end-$time_start)*1000;
- ?>
#T#結果程序一的執行平均時間為0.045,程序二的執行平均時間為0.085。不進行任何處理的平均執行時間為0.041。可見利用第一種方法處理效率要高出盡50%。由此,我們在做程序的過程中,尤其是在要求高效的程序中,我們應該對不同的方法進行一下對比,找出最優化的處理方法,以上就是PHP substr 和正則表達式的程序實例。
責任編輯:田樹
來源:
博客