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

时间:2014-03-25 16:07:31

标签: php multidimensional-array

我有一个数组如下:

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

我想将其转换为:

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

是否可以使用现有的PHP函数,还是需要编写自己的函数?

1 个答案:

答案 0 :(得分:3)

不,没有可以实现此功能的内置功能。但是,这是一个非常简单的foreach循环,所以我不明白为什么你需要一个函数:

$result = array();

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

print_r($result);

如果您想要更实用的方法,可以使用array_walk()

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

虽然正常foreach会更直接且可读。