今天看了,一篇同樣來自csdn的blog,我自己多事,做了一點測試,在其中發現了一些問題,寫了下面這篇: 以下虛線部分來自arcow 的 Blog: ------------------------------------------------------------------------------------------------------------------ 有一堆類似以下變量$abc的字符串,末尾都多出來了一個,(逗號),我想去掉末尾的逗號,爲了驗證不同的處理方法的執行時間,以下是我寫的一個對比程序進行試驗: 程序一,利用substr $abc="重慶,萬州,涪陵,渝中,大渡口,江北,沙坪壩,九龍坡,南岸,北碚,萬盛,雙撟,渝北,巴南,黔江,長壽,綦江,潼南,銅梁,大足,榮昌,壁山,梁平,城口,豐都,墊江,武隆,忠縣,開縣,雲陽,奉節,巫山,巫溪,石柱,"; 程序二,利用正則表達式 $abc="重慶,萬州,涪陵,渝中,大渡口,江北,沙坪壩,九龍坡,南岸,北碚,萬盛,雙撟,渝北,巴南,黔江,長壽,綦江,潼南,銅梁,大足,榮昌,壁山,梁平,城口,豐都,墊江,武隆,忠縣,開縣,雲陽,奉節,巫山,巫溪,石柱,"; 結果程序一的執行平均時間爲0.045,程序二的執行平均時間爲0.085。不進行任何處理的平均執行時間爲0.041 ------------------------------------------------------------------------------------------------------------------- 在這個例子中: 關鍵之處在於例一中的: /*$l=strlen($abc); 和例二中的: /*$abc=str_replace(",$","",$abc);*/ 這個地方顯然存在可以再改進的地方: substr()方法中,第三個參數如果用負數的話,php會自動從string的最後開始記數,據此,可以修改此方法如下: $abc=substr($abc,0,-1); 即可。 故整個程序改爲:
程序三,改進的substr $abc="重慶,萬州,涪陵,渝中,大渡口,江北,沙坪壩,九龍坡,南岸,北碚,萬盛,雙撟,渝北,巴南,黔江,長壽,綦江,潼南,銅梁,大足,榮昌,壁山,梁平,城口,豐都,墊江,武隆,忠縣,開縣,雲陽,奉節,巫山,巫溪,石柱,"; 另外:在我實際的測試中發現: 結果程序一的執行平均時間爲0.049,程序二的執行平均時間爲0.017,程序三的執行平均時間爲0.012。 執行處理效率,不言自明! 再羅嗦一點: 在此,只想提交我個人的一點測試結論,僅供參考,無其他!!! |
對{php中關於處理字符串時效率的討論}的改進
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.