PHP String strtr()函数

PHP String strtr()函数

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

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

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

语法

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

对于字符串替换:

strtr (string str, stringfrom, string $to)

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

对于数组键的替换:

strtr (string str, arrayreplace_pair)

在上面的函数中,包含两个参数。第二个参数$replace_pair的形式是一个数组(’from’ => ‘to’,?)。它将返回一个字符串,其中替换了所有出现的数组键与相应值。

参数

$str: 这是一个字符串参数,用于被翻译,意味着它是将被翻译的主要字符串。

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

$to: 这是一个将用$from变量替换的参数。该参数也是 必需的 ,就像$from一样,除非使用数组。

注意:如果from和to具有不同长度,则较长字符串的其他字符将被忽略。返回的字符串$str的长度将相同。

$replace_pair: 该参数以数组的形式而不是 fromto . 此数组包含两个字符串( $string1 和 $string2 ),即字符串1需要被更改并且将其更改为字符串2。

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

返回值

  • 它返回替换了$from字符为$to字符的翻译后的字符串。
  • 如果传递的参数是数组($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

所以, Hiy! Guud Mohneng 被替换为 Hie! Good Morning

示例 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不被任何字符替换。

现在, Hiy! Geud Mohneng 被替换成 Hie! Gord Mohning

示例3

用数组键进行替换

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

输出:

Welcome to javaTpoint.

示例4

PHP程序演示了strtr()函数,当数组的键为空字符串””时。

<?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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程