假设我有一个像这样的数组:
$my_array = array('a', 'b', 'c', 'd');
如何使用$ my_array
中的值构建多维数组我的数组应如下所示:
$my_new_array = $new_array['a']['b']['c']['d'];
或
Array
(
[a] => Array
(
[b] => Array
(
[c] => Array
(
[d] => Array
(
)
)
)
)
)
谢谢
答案 0 :(得分:2)
$my_array = array('a', 'b', 'c', 'd');
$size = sizeof($my_array);
$output = array();
for ( $i = $size - 1; $i >= 0; --$i ) {
$output = array( $my_array[$i] => $output );
}
var_dump($output);
输出:
array(1) {
["a"]=>
array(1) {
["b"]=>
array(1) {
["c"]=>
array(1) {
["d"]=>
array(0) {
}
}
}
}
}
答案 1 :(得分:1)
这是一种替代方案,在创建过程中从外部到内部:
$my_array = array('a', 'b', 'c', 'd');
$multidimensional_array = array();
$array_reference = &$multidimensional_array;
foreach ( $my_array as $value ) {
$array_reference = &$array_reference[$value];
}
$array_reference = array();
echo "<pre>";
var_dump($multidimensional_array);
echo "</pre>";