matriz asociativa recursiva de varios niveles en PHP
Para que te hagas una idea, puedes mejorarlo en función de proyectos específicos, de la siguiente manera:
/** *?@author:?suifengtec?coolwp.com * ?@fecha: 2015-05-03?00:59:15 *?@última?Modificación?por:suifengtec?coolwp.com *?@última?Modificación?hora:?2015-05-04?01:16:09 */ p>
función?coolwp_routes_to_array($_routes){
$routes?=?array();
foreach($_routes?as?$key= >$val) {
if(is_array($val)){ $rutas[$key]?=?$val;
}else{
$rutas[$ clave]?=?$val;
}
}
¿regresar?$rutas;?
}
función?coolwp_get_route_from_array(array?$array,?$ruta,?$default?=?null){
$delimitador?=?'/';
if?( vacío($ruta))?
throw?new?Exception('¿La ruta está vacía?');
$ruta?=?trim($ruta,? $delimitador);
$valor?=?$matriz;
$partes?=?explode($delimitador,?$ruta);
foreach? ($partes? como?$parte)?{
si?(isset($valor[$parte]))?{
$valor?=?$valor[$parte] ];
p>}?else?{
retorno?$predeterminado;
}
}
return?$valor;
}
/*Tu json*/
$string?=?file_get_contents("test.json"); p>
$_routes?=?new?RecursiveIteratorIterator(
new?RecursiveArrayIterator(json_decode($string,?TRUE)),
RecursiveIteratorIterator::SELF_FIRST
);
/*==========El siguiente es el contenido de la prueba============*/
/*
Convertir a matriz*/
$routes?=?coolwp_routes_to_array($_routes);
/*
Obtener el valor de ruta específico*/
/*$movie_route?=?coolwp_get_route_from_array($routes?,'account/loginIndex.htm/movie');
//La salida es: ?movie
echo?$movie_route;
*/
print_r($routes);
¡Que tengas un buen día!