Rob*_*rle 6 php arrays multidimensional-array
关于这个问题,我之前提到过:使用另一个数组搜索多维数组的键
我想要一种在多维数组中设置值的方法(最多6级),使用包含要使用的键的单独数组.
例如
$keys = Array ('A', 'A2', 'A22', 'A221');
$cats[A][A2][A22][A221] = $val;
Run Code Online (Sandbox Code Playgroud)
我试着写一个笨拙的开关但收效甚微......是否有更好的解决方案?
function set_catid(&$cats, $keys, $val) {
switch (count($keys)) {
case 1: $cats[$keys[0]]=$val; break;
case 2: $cats[$keys[0]][$keys[1]]=$val; break;
case 3: $cats[$keys[0]][$keys[1]][$keys[2]]=$val; break;
etc...
}
}
Run Code Online (Sandbox Code Playgroud)
尝试这个:
function set_catid(&$cats, $keys, $val) {
$ref =& $cats;
foreach ($keys as $key) {
if (!is_array($ref[$key])) {
$ref[$key] = array();
}
$ref =& $ref[$key];
}
$ref = $val;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
185 次 |
最近记录: |