php - 用int替换字符串

时间:2013-11-14 20:57:35

标签: php

我用自己的所有字母,数字和大部分符号制作了自己的数组,并给每一个数字代表例如'a'= 19;如何用数组中的数字替换$ string字母/数字,以便$ newString = 19202122?

$string = 'abcd';

$stringList = array(
    19 => 'a',
    20 => 'b',
    21 => 'c',
    22 => 'd',
};

$newString = 19202122;

3 个答案:

答案 0 :(得分:2)

您可以使用str_replace,array_keys和array_values函数。 像那样:

$string = 'abcd';

$stringList = array(
    19 => 'a',
    20 => 'b',
    21 => 'c',
    22 => 'd',
};
$newString =  str_replace(array_values($stringList), array_keys($stringList), $string);
echo $newString; // 19202122 

答案 1 :(得分:1)

将str_replace与数组一起使用:

$letters = array('a','b','c','d');
$numbers = array(19,20,21,22);
$newString = str_replace($letters,$numbers,$string);

答案 2 :(得分:1)

以另一种方式定义数组并使用strtr()函数,如下所示:

$string = 'abcd';

$stringList = array(
    'a' => 19,
    'b' => 20,
    'c' => 21,
    'd' => 22,
);

$newString = strtr($string, $stringList);