我正在尝试创建一个数组,同时解析用点分隔的字符串

$string = "foo.bar.baz";
$value = 5


$arr['foo']['bar']['baz'] = 5;

我用解析了键
$keys = explode(".",$string);

我该怎么办?

最佳答案

你可以做:

$keys = explode(".",$string);
$last = array_pop($keys);

$array = array();
$current = &$array;

foreach($keys as $key) {
    $current[$key] = array();
    $current = &$current[$key];
}

$current[$last] = $value;

DEMO

如果是这样,您可以轻松实现函数,将字符串和值作为参数传递并返回数组。

关于php - 创建动态多维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7993576/

10-16 04:24