PHP - Duda sobre los arrays multidimensionales con count

   
Vista:
Imágen de perfil de Javier

Duda sobre los arrays multidimensionales con count

Publicado por Javier (2 intervenciones) el 03/01/2015 21:20:52
Quiero saber porque este codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php //Ejemplo arrays aprenderaprogramar.com
$miEspArray[6]=99;
$miEspArray[22]=87;
echo 'Numero de elementos de miEspArray es '.count($miEspArray).'<br/>';
echo "--------------------";
$array2[0][0][0] = "Prueba1";
$array2[0][0][1] = "Prueba2";
$array2[0][0][2] = "Prueba3";
$array2[0][1][0] = "Prueba4";
$array2[0][1][1] = "Prueba5";
$array2[1][0][1] = "Prueba6";
$array2[1][1][2] = "Prueba7";
$array2[1][2][1] = "Prueba8";
$array2[2][0][0] = "Prueba9";
$array2[2][0][1] = "Prueba10";
$array2[5][0][1] = "Prueba11";
echo '<br/>Numero de indices en el primer nivel: '.count($array2);
echo '<br/>Numero de indices en el segundo nivel de array[0]: '.count($array2[0]);
echo '<br/>Numero de indices en el segundo nivel de array[1]: '.count($array2[1]);
echo '<br/>Numero de indices en el segundo nivel de array[2]: '.count($array2[2]);
echo '<br/>Numero de indices en el segundo nivel de array[3]: '.count($array2[3]);
echo '<br/>Numero de indices en el segundo nivel de array[5]: '.count($array2[5]);
echo '<br/>Numero de indices en el tercer nivel de array[0][0]: '.count($array2[0][0]);
echo '<br/>Numero de indices en el tercer nivel de array[0][1]: '.count($array2[0][1]);
echo '<br/>Numero de indices en el tercer nivel de array[1][0]: '.count($array2[1][0]);
echo '<br/>Numero de indices en el tercer nivel de array[1][1]: '.count($array2[1][1]);
echo '<br/>Numero de indices en el tercer nivel de array[1][2]: '.count($array2[1][2]);
echo '<br/>Numero de indices en el tercer nivel de array[2][0]: '.count($array2[2][0]);
echo '<br/>Numero de indices en el tercer nivel de array[5][0]: '.count($array2[5][0]);
?>

Da los los numeros que estan al final de cada resultado, (estoy haciendo un curso de PHP).

Numero de indices en el primer nivel: 4
Numero de indices en el segundo nivel de array[0]: 2
Numero de indices en el segundo nivel de array[1]: 3
Numero de indices en el segundo nivel de array[2]: 1
Numero de indices en el segundo nivel de array[3]: 0
Numero de indices en el segundo nivel de array[5]: 1
Numero de indices en el tercer nivel de array[0][0]: 3
Numero de indices en el tercer nivel de array[0][1]: 2
Numero de indices en el tercer nivel de array[1][0]: 1
Numero de indices en el tercer nivel de array[1][1]: 1
Numero de indices en el tercer nivel de array[1][2]: 1
Numero de indices en el tercer nivel de array[2][0]: 2
Numero de indices en el tercer nivel de array[5][0]: 1
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Duda sobre los arrays multidimensionales con count

Publicado por xve (5515 intervenciones) el 04/01/2015 07:17:39
Hola Javier, no entiendo tu pregunta... a que te refieres con "Da los los números que están al final de cada resultado"?

Yo veo que los resultados son correctos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas

Duda sobre los arrays multidimensionales con count

Publicado por Vainas (254 intervenciones) el 04/01/2015 12:17:22
Buenas:

"Da lo que da" por que podria decirse que son arrays anidados, el primero de todo ve que tiene dentro x arrays, si entras dentro de el el segundo vera tambien que tiene una serie de arrays y asi sucesivamente.

$array2 es un array pero dentro de el a su vez cada una de sus posiciones, que podria ser un string un entero, etc... es otro array. Asi pues $array2 tiene dentro lo siguiente:

$array2 = array[0], array[1], array[2], array[5];

(esto no es una buena sintaxis pero no te fijes en eso sino en el concepto).

por eso $array2 te da 4.

luego cuando entras en $array2[0] dentro tienes de nuevo un array que tendra ya ocupada las siguientes posiciones:

$array2[0] = array[0], array[1];

por eso count te desvuelve 2

si seguimos entrando en $array2[0][0] tendremos otro array con las siguientes posiciones ocupadas:

$array2[0][0] = array[0], array[1], array[2];

por eso count desvuelve 3;

y ya para finalizar si entramos en $array2[0][0][0] nos encontraremos que no tiene un array sino un string con el dato "Prueba1"

Espero que te sirva, sino te dejare puedo dejar por aqui algun video de youtube en el que lo expliquen.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar