最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php函數(shù)之strtr和str_replace的用法詳解以及效率分析 原創(chuàng)

原創(chuàng)  更新時間:2022年11月05日 18:31:56   原創(chuàng) 作者:yin  
PHP中主要用strtr()和str_repalce()這兩個函數(shù)替換字符串和數(shù)組,但你們都知道他們這兩個函數(shù)的區(qū)別和用法嗎?有不少文章在說使用strtr函數(shù)比str_replace快4倍,那為什么很多時候都在用str_replace,到底應(yīng)該使用哪個函數(shù)呢

PHP中主要用strtr()和str_repalce()這兩個函數(shù)替換字符串和數(shù)組,但你們都知道他們這兩個函數(shù)的區(qū)別和用法嗎?有不少文章在說使用strtr函數(shù)比str_replace快4倍,那為什么很多時候都在用str_replace,到底應(yīng)該使用哪個函數(shù)呢?

一. str_repalce()用法

str_replace(find,replace,string,count)
find:規(guī)定要查找的字符串或數(shù)組;
replace:被用來替換的字符串或數(shù)組;
string:被查詢的字符串或數(shù)組;
count:可選,替換的次數(shù)

<?php
  //實例一:字符串替換字符串
  $str1 = str_replace("red","black","red green yellow pink purple");
  echo $str1;  //輸出結(jié)果為black green yellow pink purple
  echo "<br>";

  //實例二:數(shù)組的鍵值用字符串替換
  $arr = array("blue","red","green","yellow");
  $str1 = str_replace("red","pink",$arr,$count);
  print_r($str1);
  //輸出結(jié)果
  //Array ( [0] => blue [1] => pink [2] => green [3] => yellow ) 
  echo "<br>" . $count; //輸出替換次數(shù)1

  //實例三:數(shù)組替換數(shù)組,一一映射替換
  $arr1 = array("banana","orange");
  $arr2 = array("pitaya","tomato");
  $con_arr = array("apple","orange","banana","grape");
  $con_rep = str_replace($arr1,$arr2,$con_arr,$count1);
  print_r($con_rep);
  //輸出結(jié)果
  // Array ( [0] => apple [1] => tomato [2] => pitaya [3] => grape ) 
  echo "<br>" . $count1; //輸出替換次數(shù)2

  //實例四:如$search為數(shù)組,$replace為字符串時
  $search = array("banana","grape");
  $replace = "tomato";
  $arr = array("banana","apple","orange","grape");
  $new_arr = str_replace($search,$replace,$arr,$count2);
  print_r($new_arr);
  //輸出結(jié)果
  //Array ( [0] => tomato [1] => apple [2] => orange [3] => tomato ) 
  echo "<br>" . $count2; //輸出替換次數(shù)2
?>

 

二. strtr()用法

 

<?php
  	//用法一:strtr(string,from,to)
	echo strtr("I Love you","Lo","lO");
	/*輸出結(jié)果:
	I lOve yOu
	you中的o被替換了,很詭異,要注意可能;
	這種用法也不能被替換為空,不生效;
	不推薦使用該方法*/

	//用法二:strtr(string,array)
	$arr = array("Hello" => "Hi", "world" => "earth");
	echo strtr("Hello world",$arr);
	/*輸出結(jié)果:
	Hi earth*/
?>

三. 效率對比

筆者使用apache環(huán)境和nginx環(huán)境做了測試:5.6版本 str_replace 比 strtr 平均效率高4倍,7.1版本效率基本相同。

四. 總結(jié)

使用strtr會出現(xiàn)一些不可控的錯誤,strtr被查詢替換的只能是字符串,而且str_replace函數(shù)比strtr效率高、速度快,因此推薦使用str_replace函數(shù)替換字符串或數(shù)組。

到此這篇關(guān)于php函數(shù)之strtr和str_replace的用法詳解以及效率分析的文章就介紹到這了,更多相關(guān)php函數(shù)strtr和str_replace對比內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章。希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

永丰县| 邢台市| 定南县| 土默特左旗| 炉霍县| 天长市| 花垣县| 江源县| 海晏县| 涞水县| 舒城县| 鄂尔多斯市| 亚东县| 苏州市| 洛浦县| 沂水县| 广州市| 聂拉木县| 合江县| 石河子市| 云林县| 长岭县| 琼海市| 阜阳市| 贵州省| 禄劝| 郴州市| 白玉县| 周口市| 获嘉县| 静宁县| 兴业县| 乌拉特后旗| 胶州市| 古浪县| 开阳县| 广西| 梁平县| 若羌县| 大城县| 屏边|