Estoy leyendo este
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=571:count-php-funcion-recorrer-arreglos-o-arrays-uni-o-multidimensionales-con-for-y-foreach-ejemplo-cu00826b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193 articulo.
Y en una parte dice lo siguiente:
CONOCER COUNT
Ejecuta este código:
<?php //Ejemplo arrays aprenderaprogramar.com
$array[5] = "Uno";
$array[6] = "Dos";
$array[7] = "Tres";
$array[8] = "Cuatro";
$array[9] = "Cinco";
$array[10] = "Seis";
$array[11] = "Siete";
$array[12] = "Ocho";
echo 'Elementos inicializados en el array: '.count($array).'<br/>';
for($i=0;$i<count($array);$i++) {
echo $array[$i].'...<br/>';
}
echo $array[15].'aaa<br/>';
echo count($otroArray[14][33]).' elementos<br/>';
?>
el resultado sera:
Elementos inicializados en el array: 8
...
...
...
...
...
Uno...
Dos...
Tres...
aaa
0 elementos
---------------------------------------------------------------------------------------------
Despues lo explica asi:
Analicemos lo que está ocurriendo. El array $array no tiene definidos cuáles son sus elementos de índice 0, 1, 2, 3 y 4. En cambio sí tiene definidos valores para sus elementos de índice 5, 6, 7, 8, 9, 10, 11 y 12. Hay 8 elementos con valores definidos pero sus índices no son 0, 1, 2, 3, 4, 5, 6, 7 como es lo habitual, sino que son 5, 6, 7, 8, 9, 10, 11 y 12.
Al ejecutar el for comenzando con un valor de la variable de control igual a cero, se ejecuta echo $array[0].’…<br/>’; Al no tener un valor asignado, $array[0] devuelve vacío y simplemente se muestran tres puntos por pantalla. Lo mismo ocurre con los índices 1, 2, 3, 4 y sólo es al llegar al índice cinco cuando se muestran valores por pantalla.
Sin embargo, sólo se mostrarán los elementos con índice 5 a 8 del array, quedando el resto de elementos sin ser mostrado.
Además comprobamos que podemos invocar a elementos del array por encima del índice máximo definido sin obtener error, y que incluso podemos invocar a un nombre de array que no hemos declarado ni utilizado, con cualquier índice, sin obtener error.
En este ejemplo podríamos mostrar todos los elementos del array realizando un “pequeño cambio”:
for($i=5;$i<count($array)+5;$i++)
Sin embargo esta solución no es satisfactoria porque no la podemos aplicar como solución para recorrer cualquier array.
A modo de resumen diremos lo siguiente:
count nos devuelve el número de elementos inicializados del array.
Si los índices del array no son secuencialmente 0, 1, 2, 3 , etc. el recorrido con un for tradicional puede resultar no satisfactorio, por lo que habremos de pensar en otras alternativas para recorrer el array. Hablaremos de esto más adelante.
--------------------------------------------------------------------------------------------
Bueno es caso es que ami no me funciona, o sea me da una serie de errores y no se si es por la version de PHP o que, a mi me muestra eso:
Elementos inicializados en el array: 8
( ! ) Notice: Undefined offset: 0 in C:\wamp\www\AAP26 P2.php on line 12
Call Stack
# Time Memory Function Location
1 0.0020 133320 {main}( ) ..\AAP26 P2.php:0
...
( ! ) Notice: Undefined offset: 1 in C:\wamp\www\AAP26 P2.php on line 12
Call Stack
# Time Memory Function Location
1 0.0020 133320 {main}( ) ..\AAP26 P2.php:0
...
( ! ) Notice: Undefined offset: 2 in C:\wamp\www\AAP26 P2.php on line 12
Call Stack
# Time Memory Function Location
1 0.0020 133320 {main}( ) ..\AAP26 P2.php:0
...
( ! ) Notice: Undefined offset: 3 in C:\wamp\www\AAP26 P2.php on line 12
Call Stack
# Time Memory Function Location
1 0.0020 133320 {main}( ) ..\AAP26 P2.php:0
...
( ! ) Notice: Undefined offset: 4 in C:\wamp\www\AAP26 P2.php on line 12
Call Stack
# Time Memory Function Location
1 0.0020 133320 {main}( ) ..\AAP26 P2.php:0
...
Uno...
Dos...
Tres...
( ! ) Notice: Undefined offset: 15 in C:\wamp\www\AAP26 P2.php on line 14
Call Stack
# Time Memory Function Location
1 0.0020 133320 {main}( ) ..\AAP26 P2.php:0
aaa
( ! ) Notice: Undefined variable: otroArray in C:\wamp\www\AAP26 P2.php on line 15
Call Stack
# Time Memory Function Location
1 0.0020 133320 {main}( ) ..\AAP26 P2.php:0
0 elementos
_____________________________________________________________________
Osea entiendo todo lo que explica el manual pero no se porque en una parte dice "Además comprobamos que podemos invocar a elementos del array por encima del índice máximo definido sin obtener error, y que incluso podemos invocar a un nombre de array que no hemos declarado ni utilizado, con cualquier índice, sin obtener error." si aca me salen una serie de errores, depende de la version o que?