我有一个无法解决的问题。我有两个数组和一个字符串。第一个数组包含第二个数组应该使用的键。第一个是这样的:
Array
(
[0] => foo
[1] => bar
[2] => hello
)
现在我需要一个PHP代码将其转换为第二个数组:
Array
(
[foo] => Array
(
[bar] => Array
(
[hello] => MyString
)
)
)
项目数量是可变的。
谁能告诉我该怎么做?你应该使用引用来解决这个问题:
$a = array (0 => 'foo', 1 => 'bar', 2 => 'hello' );
$b = array();
$ptr = &$b;
foreach ($a as $val) {
$ptr[$val] = Array();
$ptr = &$ptr[$val];
}
$ptr = 'MyString';
var_dump($b);
你只需要:
$path = array(
0 => 'foo',
1 => 'bar',
2 => 'hello'
);
$data = array();
$t = &$data;
foreach ( $path as $key ) {
$t = &$t[$key];
}
$t = "MyString";
unset($t);
print_r($data);
参见Live Demo