duanjianqu3685 2014-03-25 16:07
浏览 47
已采纳

如何在PHP中将1维数组转换为2维数组

I have an array as follows:

$array['a'] = 'Red';
$array['b'] = 'Green';
$array['c'] = 'Blue';

I want to convert it to:

$array['a'][1] = 'Red';
$array['b'][1] = 'Green';
$array['c'][1] = 'Blue';

Is that possible with an existing PHP function or do I need to write my own function?

  • 写回答

1条回答 默认 最新

  • dsfsfdsf4544 2014-03-25 16:11
    关注

    No, there is no built-in function that can achieve this. However, this is pretty straight-forward with a foreach loop, so I don't see why you need a function:

    $result = array();
    
    foreach ($array as $key => $value) {
        $result[$key][1] = $value;
    }
    
    print_r($result);
    

    If you want a more functional approach, you could use array_walk():

    // walks through the original $array and adds a new dimension
    array_walk($array, function(&$v, $k){ 
        $v = array(1 => $v); 
    });
    

    Although, a normal foreach would be more straight-forward and readable.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?