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:
<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:
<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>";
}