WithCoderWithCoderWithCoder

PHP字符串函数strtr(转换指定字符)

    在PHP中,字符串函数 strtr() 用来转换指定字符。

    函数语法:

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

    或

strtr ( string $str , array $replace_pairs ) : string

    函数参数说明:

参数描述
str必需。规定要转换的字符串。
from必需(除非使用数组)。规定要改变的字符。
to必需(除非使用数组)。规定要改变为的字符。
replace_pairs必需(除非使用 from 和 to)。一个数组,其中的键名是原始字符,键值是目标字符。

    strtr() 函数用来转换指定字符。该函数有两种调用方式:

        1. 如果给定三个参数,该函数返回 str 的一个副本,并将在 from 中指定的字符转换为 to 中相应的字符。 比如, $from[n]中每次在 str 中出现的字符都会被替换为 $to[n] 对应的字符,其中 n 是两个参数都有效的位移(offset)。如果 from 与 to 长度不相等,那么多余的字符部分将被忽略。 返回的值的长度 和 str 的长度一样。

        2. 如果给定两个参数,第二个参数应该是数组形式的('from' => 'to',…)。此时,函数的返回值一个字符串,在其中所有出现的数组的键都被替换为相应的值。替换时将先尝试最长的键。一旦子字符串被替换,它的新值将不再被搜索。在这种情况下,键和值可以有任何长度,前提是没有空键;此外,返回值的长度可能与str不同,但当所有键的大小相同时,这个函数的效率最高。

    举例1,转换指定字符(三个参数)   

<?php
// 转换字符串中的指定字符,使用from,to参数
$res = strtr('hello', 'lo', 'a');

// 输出
echo $res;

    以上代码输出如下(转换对应字符,多余字符被忽略):

heaao

     举例2,转换指定字符(两个参数)   

<?php
// 转换字符串中的指定字符,使用数组参数
$res = strtr('hello', ['l' => 'aa', 'o' => 'b']);

// 输出
echo $res;

    以上代码输出如下(转换对应字符,返回字符长度和原字符串可能不同):

heaaaab

欢迎分享交流,转载请注明出处:WithCoder » PHP字符串函数strtr(转换指定字符)