【问题标题】:PHP [Array Keys] : Convert "0" Into "A", "1" Into "B"... (and so "89" will be "IJ") FunctionPHP [数组键]:将“0”转换为“A”,“1”转换为“B”......(因此“89”将成为“IJ”)函数
【发布时间】:2012-04-05 03:58:31
【问题描述】:

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

$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
)

【问题讨论】:

    标签: php function array-key


    【解决方案1】:
    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_flip+array_map,您可以改用这个:

    $result = array();
    foreach($original as $k => $v) {
        $result[strtr($k, "0123456789", "ABCDEFGHIJ")] = $v;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      相关资源
      最近更新 更多