欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

一. str_repalce()用法

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

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

  //實(shí)例二:數(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ù)組替換數(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

  //實(shí)例四:如$search為數(shù)組,$replace為字符串時(shí)
  $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會(huì)出現(xiàn)一些不可控的錯(cuò)誤,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)文章

最新評(píng)論