字符串函数

PHP strtr() 函数

主题:PHP 字符串参考上一页|下一页

说明

strtr() 函数翻译字符或替换字符串中的子字符串。

下表总结了该函数的技术细节。

返回值: 返回翻译后的字符串。 如果 array 参数包含一个空字符串 ("") 的键,则将返回 FALSE
版本: PHP 4+

语法

strtr() 函数的基本语法如下:

strtr(string, from, to); -Or- strtr(string, array);

下面的例子展示了 strtr() 函数的作用。

<?php
// 示例字符串
$str = "Mary had a little lamb";

// 执行替换
echo strtr($str, "My", "Sa");
?>

如果 fromto 的长度不同,则忽略两者中较长的多余字符,这意味着结果字符串的长度将保持不变。

您也可以使用 array 代替 fromto 参数。 在这种情况下,键和值可以具有任意长度,前提是没有空键; 此外,结果字符串的长度可能与原始字符串不同。 这是一个例子:

<?php
// 示例字符串
$str = "hi all, I said hello";

// 定义替换对
$replace_array = array("h" => "x", "hi" => "hello", "hello" => "hi");

// 执行替换
echo strtr($str, $replace_array);
?>

如果你看到上面例子的输出,你会注意到这个函数没有选择"h",因为有更长的匹配可用。 此外,不会再次搜索替换的文本。


参数

strtr() 函数接受以下参数。

参数 说明
string 必填。 指定要翻译的字符串。
from 必填。 指定要替换的字符或子字符串。
to 必填。 指定替换子字符串。
array 必需(除非使用 fromto)。 指定格式为 array("from" => "to", ...) 的数组。 这个参数可以用来代替fromto

更多示例

下面是更多示例,展示了 strtr() 函数的实际工作原理:

此函数在两个和三个参数模式下的行为不同。 使用三个参数,strtr() 将替换字符; 而有两个,它可能会替换更长的子字符串。

<?php
// 示例字符串
$str = "woow";

// 定义替换对
$replace_array = array("wo" => "x1");

// 执行替换
echo strtr($str, "wo", "x1")."<br>";
echo strtr($str, $replace_array);
?>
Advertisements