当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP String strtr()用法及代码示例


strtr() 是 PHP 的内置函数,用于替换另一个字符串中的子字符串。它提供了更改字符串中特定单词的函数。 strtr() 函数转换字符或替换子字符串。这是一个区分大小写的函数。 PHP 4+ 版本支持此函数。

注意:strtr() 函数从该字符出现的所有位置替换该字符。

PHP 中还有一些其他函数类似于 strtolower() 函数:

用法

此函数有两种可用的语法,一种用于字符串或字符替换,另一种用于数组键替换。下面给出了这些语法。

对于字符串替换:

strtr (string $str, string $from, string $to)

这个函数中有三个参数。在用 $to 替换 $from 的每个字符后,它返回 $str 的副本。

对于数组键替换:

strtr (string $str, array $replace_pair)

这里,上面的函数包含两个参数。第二个参数是$replace_pair,它是一个数组的形式('from' => 'to', ?)。将所有出现的数组键替换为相应的值后,它将返回一个字符串。

参数

$str:它是一个正在翻译的字符串参数,表示它是将要翻译的主字符串。

$from:此函数的下一个参数,将在字符串中替换为$to。除非使用数组,否则它是必需参数。

$to:它是一个参数,将替换为 $from 变量。除非使用数组,否则此参数也需要作为 $from。

注意:如果 from 和 to 的长度不同,那么较长字符串的多余字符将被忽略。返回的字符串 $str 的长度将相同。

$replace_pair:这个参数是数组的形式,而不是from和to。该数组包含两个字符串($string1 和 $string2),即需要更改的 string1 和更改为的 string2。

注意:如果 string1 和 string2 的长度不同,那么较长的字符串将被格式化为较短字符串的长度。

返回值

  • 它在用 $to 字符替换 $from 字符后返回翻译后的字符串。
  • 如果传递的参数是数组($replace_pair),则它通过将键字符串更改为相应的值来返回转换后的字符串。如果该数组参数包含带有空字符串 (? ?) 的键,则它将返回 FALSE。

例子

下面给出了一些例子。借助这些示例,我们可以了解 strtr() 函数的工作原理。

例子1

<?php
	$strng1 = "Hiy! Guud Mohneng";
	$from =  "yuhe";
	$to = "eori";
	echo strtr($strng1, $from, $to);
?>

输出:

Hie! Good Morning

解释

y 替换为 e

u 替换为 o

h 替换为 r

e 替换为 i

所以,嗨! Guud Mohneng 被 Hie 取代!早上好。

例子2

PHP 程序演示 $from 和 $to 长度不同时的 strtr() 函数。

<?php
$strng1 = "Hiy! Geud Mohning";
	$from =  "yeuh";
	$to = "eor";
	echo strtr($strng1, $from, $to);
?>

输出:

Hie! Gord Mohning

解释

y 替换为 e

e 替换为 o

u 替换为 r

h 不会被任何字符替换。

现在,嗨! Geud Mohneng 被 Hie 取代!戈德·莫宁。

例子3

用数组键替换

<?php
$strng = "Wilcone to javaCpoint.";
	$arr1 = array("Wilcone" => "Welcome", "javaCpoint" => "javaTpoint");
	echo strtr($strng, $arr1);
?>

输出:

Welcome to javaTpoint.

示例 4

PHP程序演示strtr()函数,当数组key为空""字符串时。

<?php
$strng = "Wilcone to javaCpoint.";
	$arr1 = array("Wilcone" => "Welcome", "" => "javaTpoint");
	echo strtr($strng, $arr1);
?>

输出:

No output

例 5

用单个字母多次替换

<?php
$string = "Wilcone to javaCpoint.";
	$from = "inC";
	$to = "emT";
	echo strtr($string, $from, $to);
?>

输出:

Welcome to javaTpoemt.

解释

i 在多个地方被 e 替换。

n 在多处替换为 m。

C 仅被 T 替换一次,因为此函数区分大小写。

因此,将 Wilcone to javaCpoint 替换为 Welcome to javaTpoemt 而不是 Welcome to JavaTpoint。

例 6

区分大小写

<?php
$strng = "Gqqd health Gqqd Life.";
	$from = "q";
	$to = "o";
	echo strtr($strng, $from, $to);
	echo "</br>";
	echo strtr($strng, "Q", "o";);    //case-sensitive
?>

输出:

在本例中,对于第一种情况,所有出现的 q 都替换为 o。另一方面,Q 没有替换为 o,因为它是一个区分大小写的函数。

Good health Good Life.
Gqqd health Gqqd Life.     //case-sensitive






相关用法


注:本文由纯净天空筛选整理自 PHP String strtr() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。