关于我之前提出的问题:使用另一个数组搜索多维数组的键
我想要一种方法,使用一个包含要使用的键的单独数组,在多维数组(深度最多为6级)中设置一个值。
例如:
$keys = Array ('A', 'A2', 'A22', 'A221');
$cats[A][A2][A22][A221] = $val;
我尝试编写了一个笨拙的开关,但没有取得太大的成功…是否有更好的解决方案?
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...
}
}