En relación con esta pregunta que hice antes: Searching multi-dimensional array's keys using a another arrayEl establecimiento de un valor en una matriz multidimensional utilizando una matriz de claves
Me gustaría tener una manera de establecer un valor en una matriz multidimensional (hasta 6 niveles de profundidad), usando una matriz separada que contiene las claves para usar.
p. Ej.
$keys = Array ('A', 'A2', 'A22', 'A221');
$cats[A][A2][A22][A221] = $val;
Intenté escribir un interruptor torpe con poco éxito ... ¿hay una solución mejor?
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...
}
}
Usted podría [Utilizar referencias] (http://stackoverflow.com/questions/6088115/transform-flat-array-into-a-hierarchical-multi-dimensional -array/6088147 # 6088147) para recorrer la matriz con cualquier cantidad de teclas. – mario