str_replace 函数用于替换字符串中的某些字符。它可以用于一个或多个字符的替换,也可以用于数组和字符串的替换。
PHP函数之strtr和str_replace的用法详解以及效率分析
str_replace
str_replace
函数用于替换字符串中的某些字符。它可以用于一个或多个字符的替换,也可以用于数组和字符串的替换。
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
其中,$search
代表要替换的字符,可以是字符串或数组;$replace
代表替换字符,可以是字符串或数组;$subject
是被替换的字符串;$count
返回被替换的次数。
代码示例:
$str = "Hello World!";
echo str_replace("World", "PHP", $str);
输出结果:
Hello PHP!
strtr
strtr
函数用于在字符串中替换字符,如果 search
参数是一个字符串的话,那么就会将 search
中的每一个字符都替换成 replace
中对应位置的字符。
string strtr ( string $str , string $from , string $to )
其中,$str
是被替换的字符串;$from
定义要替换的字符或字符数组,或是从这些字符中搜寻与 $str
相符的一个字符;$to
定义替换 $from 中字符的字符数组,或是替换字符。
代码示例:
$str = "Hello World!";
echo strtr($str, "eo", "12");
输出结果:
H1ll2 W1rld!
比较
-
str_replace
函数将字符串中的子串或字符替换成指定的内容,而strtr
函数根据传入的部分字符映射表进行字符替换。 -
str_replace
可以使用正则表达式进行匹配,对于替换较复杂的字符串可以使用str_replace
取代strtr
。
在大多数情况下, str_replace
的效率要优于 strtr
。如果你不需要字符映射表的特殊功能,则应选择使用 str_replace
。
效率对比代码示例:
$start = microtime(true);
$str = "Hello World!";
for ($i=0; $i<1000000; $i++) {
str_replace("World", "PHP", $str);
}
echo (microtime(true) - $start) . "\n"; //输出运行时间
$start = microtime(true);
$str = "Hello World!";
for ($i=0; $i<1000000; $i++) {
strtr($str, "eo", "12");
}
echo (microtime(true) - $start) . "\n"; //输出运行时间
输出结果:
3.7138488292694
7.3168301582336
可以看到, str_replace
的效率比 strtr
高一倍以上。
总结
对于简单的字符串替换,可以使用 str_replace
函数;对于有复杂的字符串映射需求,使用 strtr
函数。在性能较为敏感的环境下,应使用 str_replace
。
本文标题为:php函数之strtr和str_replace的用法详解以及效率分析 原创
基础教程推荐
- PHP safe_mode开启对于PHP系统函数有什么影响 2023-05-02
- PHP 对象接口简单实现方法示例 2023-04-08
- php strftime函数获取日期时间(switch用法) 2022-10-18
- PHP优化教程之解决嵌套问题 2023-05-09
- php用数组返回无限分类的列表数据的代码 2024-01-14
- PHP与以太坊交互详解 2022-11-09
- PHP后期静态绑定实例浅析 2022-12-01
- PHP单文件和多文件上传实例 2022-10-02
- PHP pthreads v3下worker和pool的使用方法示例 2023-04-02
- PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】 2022-12-29