Foros del Web » Programando para Internet » PHP »

Conocer numero arrays dentro de otro array

Estas en el tema de Conocer numero arrays dentro de otro array en el foro de PHP en Foros del Web. Hola. Tengo un array multidimensional pero que no es regular.Voy a explicar qué quiero decir con esto. Supongamos que mi array principal se llama $array_multidim.Este ...
  #1 (permalink)  
Antiguo 01/02/2008, 10:34
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Conocer numero arrays dentro de otro array

Hola.

Tengo un array multidimensional pero que no es regular.Voy a explicar qué quiero decir con esto.
Supongamos que mi array principal se llama $array_multidim.Este array a su vez está compuesto por otros arrays.Por ejemplo,$array_multidim[0],$array_multidim[1],...y a su vez $array_multidim[0] puede tener otros arrays,pero no no tiene por qué tener el mismo número de arrays que $array_multidim[1],....Entonces,yo lo que quiero saber es si exsiste alguna función que me diga el número de subarrays que tiene un array o si tengo que chequearlo a mano.

Gracias de antemano
  #2 (permalink)  
Antiguo 01/02/2008, 10:59
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Re: Conocer numero arrays dentro de otro array

No sé si existe una función para ello, pero a mí se me ocurre esto:

Código PHP:
function contar_matrices($matriz) {

// $matriz = array(); Tu array multidimensional que mencionas

$cuantos count($matriz);
$matrices 0;
$submatrices 0;

  for (
$i=0$i<=$cuantos$i++)
  {
       if (
is_array($matriz[$i]))
       {
       
$matrices++;
       
$cuantos_matriz count($matriz[$i]);
       
             for (
$j=0$j<=$cuantos_matriz$j++)
               {
                  if (
is_array($matriz[$i][$j])) 
                 {
                 
$submatrices++;
                 }
               }
        }
   }

$total $matrices $submatrices;
return 
$total;



No sé si sirve, pero si entiendes mi idea puedes repetir más veces el proceso para encontrar submatrices de otras submatrices.

Última edición por david_M_G; 01/02/2008 a las 12:05
  #3 (permalink)  
Antiguo 01/02/2008, 12:01
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Re: Conocer numero arrays dentro de otro array

Por que no checas la funcion http://es.php.net/manual/es/function.count.php con el parametro COUNT_RECURSIVE
Checa lo que dice:

Cita:
Si el parámetro opcional mode es iniciado a COUNT_RECURSIVE (o 1), count() contará recursivamente la matriz. Esto es útil particularmente para contar todos los elementos de una matriz multidimensional. El valor por defecto para mode es 0. count() no detecta recursión infinita.
  #4 (permalink)  
Antiguo 01/02/2008, 13:06
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Re: Conocer numero arrays dentro de otro array

He probado las dos soluciones que me habeis pasado pero no me sirven.En la primera el problema está precisamente en que no se el número de submatrices,por tanto,¿cuántos bucles "for" tendría que hacer?
La segunda,cuenta todos los elementos de un array,y a mi sólo me interesa conocer el número de subarrays que tiene cada array(notar que a su vez cada subarray puede tener subarrays).De todas maneras muchas gracias por vuestra ayuda.Seguiré intentando encontrar una solución.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:08.