最新国产好看的视频,伊人天堂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)文章

最新評論

河南省| 璧山县| 高密市| 南平市| 岳池县| 新晃| 太原市| 扬中市| 凤凰县| 沈丘县| 昌邑市| 夏邑县| 方山县| 东光县| 福安市| 拜泉县| 正定县| 凌源市| 龙泉市| 汤原县| 滦南县| 东乡族自治县| 温宿县| 无为县| 丰都县| 曲水县| 曲阜市| 井研县| 莱阳市| 贡觉县| 平阳县| 简阳市| 大石桥市| 陵水| 沙河市| 鸡东县| 荣昌县| 南召县| 濮阳市| 沙洋县| 平塘县|