我有一个问题我无法解决。我有2个数组和一个字符串。第一个数组包含第二个应该使用的键。第一个是这样的:
Array
(
[0] => foo
[1] => bar
[2] => hello
)
现在我需要一个将其转换为第二个数组的PHP代码:
Array
(
[foo] => Array
(
[bar] => Array
(
[hello] => MyString
)
)
)
项目数量可变。
有人可以告诉我该怎么做吗?
答案 0 :(得分:3)
您应该使用引用来解决此问题:
$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);
答案 1 :(得分:2)
您只需要:
$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);