PHP strtr()
函数用于替换一个字符串中的子字符串。它是一个区分大小写的函数。
语法
它有有两种替换方式,分别是字符串替换和数组键替换。
字符串替换:
strtr(string $str, string $from, string $to)
此函数中有三个参数。它把$from的每个字符替换为$to,它们是一一替换的,一个一个字符替换,返回替换后的字符串。
对于数组键替换:
strtr(string $str, array $replace_pair)
上面的函数包含两个参数。第二个参数是$replace_pair,它的形式是一个数组
array(
'from1' => 'to1',
'from2' => 'to2'
)
它将所有出现的数组键替换为相应的值后返回一个字符串,这种方式替换是字符串替换的,具体看下面的例子3的对比。
参数
参数 | 说明 | 必须/可选 |
---|---|---|
str | 要替换的原字符串 | 必须 |
from | 要替换前的字符串 | 字符串方式替换的必传参数 |
to | 要替换后的字符串 | 字符串方式替换的必传参数 |
replace_pair | 替换前和替换后的数组形式 | 数组键替换方式的必传参数 |
返回值
- 将$from字符替换为$to字符后返回替换后的字符串。
- 如果传入的参数是数组($replace_pair),它将所有出现的数组键替换为相应的值后返回一个字符串。如果该数组参数包含一个带有空字符串的键,那么它将返回 FALSE。
注意
PHP 4+版本支持此函数。
strtr() 函数会替换该字符所在位置的所有字符。
示例
下面给出了一些示例,借助这些示例,我们可以了解 strtr() 函数的使用方法。
示例1
<?php
$strng1 = "i love php";
$from ="ph";
$to = "ja";
echo strtr($strng1, $from, $to);
?>
输出:i love java
上面的例子中将 p 替换为 j,h替换为a,替换是一一对应的。
示例2
当 $from 和 $to 长度不同时,strtr() 函数的例子。
<?php
$strng = "Wilcone to Yxjc123.com";
$arr1 = array("Wilcone" => "Welcome", "Yxjc123" => "yxjc123");
echo strtr($strng, $arr1);
?>
输出:
Welcome to yxjc123.com
上面的例子中,将Wilcome替换为Welcome,Yxjc123替换为yxjc123,也是一一对应的。
示例3
<?php
echo strtr("baab", "ab", "01"),"<br>";//a替换为0,b替换为1
$trans = array("ab" => "01");
echo strtr("baab", $trans);//ab替换为01
?>
输出1001
ba01
ba01