2

假设我有一个这样的数组:

$array = array
("this","is","me","and","I","am","an","array","hello","beautiful","world");

如何创建一个将 0 转换为“A”、1 转换为“B”的函数......? 使用Foreach还是...?

所以,而不是

 Array
(
    [0] => this
    [1] => is
    [2] => me
    [3] => and
    [4] => I
    [5] => am
    [6] => an
    [7] => array
    [8] => hello
    [9] => beautiful
    [10] => world
)

我会得到

 Array
(
    ['A'] => this
    ['B'] => is
    ['C'] => me
    ['D'] => and
    ['E'] => I
    ['F'] => am
    ['G'] => an
    ['H'] => array
    ['I'] => hello
    ['J'] => beautiful
    ['BA'] => world
)
4

1 回答 1

6
function digits_to_letters($input) {
    return strtr($input, "0123456789", "ABCDEFGHIJ");
}

$result = array_flip(array_map("digits_to_letters", array_flip($original)));

(示例运行:http: //ideone.com/TQNYj


如果您更喜欢foreach+ array_fliparray_map则可以改用它:

$result = array();
foreach($original as $k => $v) {
    $result[strtr($k, "0123456789", "ABCDEFGHIJ")] = $v;
}
于 2012-04-05T04:03:08.503 回答