PHP 字符串函数

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