PHP (02) Cadenas y matrices (03) Creando matrices

Tenemos que tener en cuenta que en PHP las matrices son sumamente importantes, de hecho será la forma con la que más comúnmente se comunique PHP con el usuario de la aplicación.

Pero ¿que es una matriz?

Son colecciones de elementos que comparten un mismo nombre, como por ejemplo escritores, notas, alumnos, coches…

Hay varias formas de declarar una matriz, pero una de las más sencillas es hacerlo como si fuera una variable e indicando la posición donde ira el dato, contando siempre desde cero. (Esto es común a la totalidad de los lenguajes de programación, ya que el ordenador comienza a contar desde cero y no desde uno).

$escritores [0] = "Unamuno";
$escritores [1] = "Cervantes";
$escritores [2] = "Machado";
$escritores [3] = "Becquer";

En este caso hemos creado una mariz unidimensional con cuatro elementos, ya que como hemos dicho el 0 es el primero.

de hecho podríamos escribir las siguiente líneas para poder verlos:

echo "<p>".$escritores [0] . "</p>";
echo "<p>".$escritores [1] . "</p>";
echo "<p>".$escritores [2] . "</p>";
echo "<p>".$escritores [3] . "</p>";

Naturalmente hay mejores formas, pero iremos poco a poco en nuestro recorrido por PHP, pero de este modo veríamos a cada escritor en una línea, según su índice en el array.

Pero los índices no tienen por que se numéricos, también pueden ser cadenas que nos empiezan ya a mostrar como sería una matriz bidimensional:

$notas ["Jose"] = 7.4;
$notas ["Maria"] = 4.2;
$notas ["Lourdes"] = 8.0;
$notas ["Antonio"] = 5.6;

Como puedes ver es algo muy sencillo, y lo es aun más cuando se recorren….

Pero hay más formas de crear nuestros arrays, como por ejemplo:

$escritores [] = "Unamuno";
$escritores [] = "Cervantes";
$escritores [] = "Machado";
$escritores [] = "Becquer";

En esta ocasión no hemos puesto índice al array, pero no importa PHP detecta que es un array y va colocando a cada elemento al final del mismo del modo que tenemos lo mismo que en el primer ejemplo pero ahorrándonos el poner índices.

Pero hay mas formas de declarar un array, por ejemplo con el operador => que le dice a PHP la pareja posición valor, de modo que nuestros dos ejemplos quedarían:

$escritores = array (0=> "Unamuno", 1=> "Cervantes", 2=> "Machado", 3=> "Becquer");
$notas = array ("Jose"=>7.4, "Maria"=>4.2, "Lourdes"=>8.0, "Antonio"=>5.6);

Esta es una forma muy comun de declarar un array, de hecho tambien se pueden dejar espacios en blanco en el array, si por ejemplo hacemos lo siguiente:

$escritores = array (0=> "Unamuno", 3=> "Cervantes", 4=> "Machado", 5=> "Becquer");

Estamos dejando las posiciones 1 y 2 libres, pudiendo incluirlas mas tarde.

Es muy sencillo, te animo a que hagas algunos arrays/matrices y los veas en tu navegador antes de seguir avanzando ya que las matrices son muy importantes en PHP y tienen una potencia que aun no puedes ni imaginar…

También hay que considerar que la mejor forma a mi parecer de crear una matriz que se puede luego rellenar dinámicamente es utilizando la función array() como vemos en el siguiente ejemplo:

$miarray = array();

Con esto ya tenemos un array listo para utilizar, cargarlo desde consultas a base de datos, recogiendo archivos, nombres o todo lo que necesitemos.

Como nota final dejar esta imagen para que entendais la diferencia entre los arrays uni, bi y trimensionales…