我正在尝试在解析用点分隔的字符串时创建一个数组
$string = "foo.bar.baz";
$value = 5
Run Code Online (Sandbox Code Playgroud)
至
$arr['foo']['bar']['baz'] = 5;
Run Code Online (Sandbox Code Playgroud)
我解析了密钥
$keys = explode(".",$string);
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
你可以做:
$keys = explode(".",$string);
$last = array_pop($keys);
$array = array();
$current = &$array;
foreach($keys as $key) {
$current[$key] = array();
$current = &$current[$key];
}
$current[$last] = $value;
Run Code Online (Sandbox Code Playgroud)
如果这样,您可以轻松地创建一个函数,将字符串和值作为参数传递并返回数组。