可能重复:
具有Array数组结构的字符串
我有一个字符串"db/yum/user",我试图将它爆炸,因此/的每个元素都成为更深层次的维度.
因此,创建数据变量的直接方法是
$config['db']['yum']['user'] = "val";
Run Code Online (Sandbox Code Playgroud)
我到目前为止的尝试:
$config = array();
function set_config($key,$value){
global $config;
//Multi deminsional config
$multi_configs = explode('/',$key);
if($multi_configs!==false){
$build_up = array();
$c =& $build_up;
foreach($multi_configs as $multi_config){
$c[$multi_config] = array();
$c =& $c[$multi_config];
}
//$c = $value;
array_merge($config,$c);
return;
}
$config[$key] = $value;
}
set_config('db/yum/user','val');
set_config('db/yum/server','val2');
//etc,etc,etc, this was modified to make more sense in this context.
Run Code Online (Sandbox Code Playgroud)
ark*_*cha 10
这可能是你正在寻找的:
#!/usr/bin/php
<?php
$config = array();
function set_config($key, $value) {
global $config;
if (FALSE=== ($levels=explode('/',$key)))
return;
$pointer = &$config;
for ($i=0; $i<sizeof($levels); $i++) {
if (!isset($pointer[$levels[$i]]))
$pointer[$levels[$i]]=array();
$pointer=&$pointer[$levels[$i]];
} // for
$pointer=$value;
} // set_config
set_config('db/yum/user','val');
set_config('db/yum/server','val2');
print_r($config);
?>
Run Code Online (Sandbox Code Playgroud)
输出是:
Array
(
[db] => Array
(
[yum] => Array
(
[user] => val
[server] => val2
)
)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2450 次 |
| 最近记录: |