12 - Vectores (tradicionales)

Un Array es una colección de valores. Los array pueden ser unidimensionales (vectores), bidimensionales (matrices) y multidimensionales (más de dos dimensiones)

Los arrays se utilizan ampliamente en el lenguaje PHP.

Se utiliza el delimitador [] para acceder a los diferentes elementos del vector.

Se lo puede crear al vuelo, sin tener que declararlo:

$dias[0]=31;
$dias[1]=28; 

Luego de estas dos líneas, tenemos creado un vector de dos elementos, a los cuales accedemos por un subíndice.

echo $dias[0];	//31
echo $dias[1];	//28 

El vector, como podemos ver, puede ir creciendo en forma dinámica, es decir que si ahora hacemos:

$dias[2]=31; 

el vector ahora pasa a tener 3 componentes.

También podemos obviar el subíndice cuando asignamos los valores:

$dias[]=31;
$dias[]=28;
$dias[]=31; 

Automáticamente comienza a numerarse desde cero.

Si necesitamos conocer el tamaño del vector en cualquier momento podemos llamar a la función count.

echo count($dias);	//3 

Si queremos imprimir todos los elementos en la página podemos hacer:

pagina1.php
<html>
    <head>
        <title>Problema</title>
    </head>
    <body>
        <?php
        $nombres[] = "juan";
        $nombres[] = "pedro";
        $nombres[] = "ana";
        for ($f = 0; $f < count($nombres); $f++) {
            echo $nombres[$f];
            echo "<br>";
        }
        ?>
    </body>
</html> 

La función sizeof() es equivalente a count

Otra forma de inicializar un vector es definirlo e inicializarlo simultáneamente:

$edades=array("menores","jovenes","adultos"); 

Estamos definiendo el vector edades con tres componentes, numeradas automáticamente de cero a dos.

Consideraciones

Cuando tenemos que recorrer en forma completa un vector en PHP es muy común utilizar la estructura ‘foreach’. Veamos el mismo ejemplo anterior para recorrer el vector $nombres:

pagina1.php
<html>
    <head>
        <title>Problema</title>
    </head>
    <body>
        <?php
        $nombres[] = "juan";
        $nombres[] = "pedro";
        $nombres[] = "ana";
        foreach ($nombres as $nombre) {
            echo $nombre;
            echo "<br>";
        }
        ?>
    </body>
</html> 

En cada repetición del ‘foreach’ la variable $nombre almacena una componente del vector $nombres, luego dentro del ‘foreach’ mostramos el contenido de la variable $nombre:

foreach ($nombres as $nombre) {
    echo $nombre;
    echo "<br>";
}