Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2010, 14:26
manzarinaa
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 17 años
Puntos: 16
Recursividad. Buscar un número en un array x niveles de profundidad

Hola a todos y gracias por leer y más aún por contestar. No tengo lógica hecha para esto y no acabo de pillarlo.
el caso es que me llega este array:
Código:
array(2) { 
[0]=>  array(2) { 
[0]=>  array(2) { 
["cas"]=>  string(22) "subsubcategoria-prueba" ["cat"]=>  string(21) "subsubcategoria-proba" 
} 
[1]=>  string(2) "43" 
} 
[1]=>  array(2) {
[0]=>  array(2) { 
[0]=>  array(2) { ["cas"]=>  string(18) "subsubsubcategoria" ["cat"]=>  string(19) "subsubsub-categorie" } 
[1]=>  string(2) "44" } [1]=>  array(0) { } 
} 
}
y de él tengo que extraer lo que serían las ids 43 y 44.
parto de la base de que no hay base, he estado mirando lo de la recursividad (ya que los niveles de profundidad en el array pueden ser uno o muchos) y he encontrado repetidas veces el ejercicio para sacar el factorial de un número, pero poco o nada más y con eso he creado esta función:
Código:
function agafa_ids($data)
		{
		foreach($data as $dato)
			{
			if(is_array($dato) )
				{
				$this->agafa_ids($dato);
				}
			else{
				if(is_numeric($dato))
					$ids[]=$dato;
				}
			}
		return $ids;
		}
y solo me devuleve el 43, no llega al 44.
Me podeis echar un cable?
Gracias de nuevo.
Un saludo