Aprendiendo PHP, parte 6: Arreglos

Hasta ahora hemos aprendido que las variables en PHP nos permiten guardar valores, como cadenas de texto, números o valores lógicos (true o false), pero también existe un tipo de dato que nos permite guardar una colección de estos.

Por ejemplo, nosotros podríamos tener un valor de tipo integer para guardar un número:

<?php
   $numero = 5;
?>

Pero si por ejemplo tuviésemos que guardar los 6 números que salieron en la lotería, ¿entonces necesitaríamos 6 variables?, ¿y si tuviéramos 100 números, 100 variables? Bueno, no, para guardar varios datos debemos usar el tipo de dato array:

<?php
   $numeros = array(38 , 36 , 6 , 2 , 16 , 19);
?>

Como se ve en el ejemplo, para guardar un array o arreglo en una variable debemos utilizar la palabra reservada array y los valores separados por coma.

 

Guardar y recuperar datos de un arreglo

Para guardar un valor nuevo en un array debemos llamar al nombre de la variable con corchetes ([]) y asignarle el nuevo valor. Por ejemplo podríamos crear un array vacío:

<?php
   $articulos = array();
?>

Aquí tenemos nuestro array vacío, y ahora podemos agregarle nuevas posiciones:

<?php
   $articulos = array();
   $articulos[] = 'Birome';
   $articulos[] = 'Cuaderno';
   $articulos[] = 'Resaltador';
   $articulos[] = 'Crayones';
   $articulos[] = 'Corrector';
?>

Y luego recuperar el valor de cualquiera de estos llamándolo por su posición, empezando por cero. Por ejemplo si quisiéramos recuperar el primero valor (birome):

<?php
   $articulos = array();
   $articulos[] = 'Birome';
   $articulos[] = 'Cuaderno';
   $articulos[] = 'Resaltador';
   $articulos[] = 'Crayones';
   $articulos[] = 'Corrector';
   echo $articulos[0];//Devuelve el valor Birome.
?>

A través de los corchetes vacíos nosotros agregaremos una última posición al array. Pero también nosotros podemos setear una posición X. Por ejemplo:

<?php
   $frutas = array();
   $frutas[0] = 'Banana';
   $frutas[1] = 'Manzana';
   $frutas[2] = 'Naranja';
   echo $frutas[1];//Devuelve el valor Manzana.
?>

 

Arreglos asociativos

Otra forma de crear arreglos que puede servirnos cuando contamos con datos que se distinguen entre sí, son los arrays asociativos. Por ejemplo si quisiéramos guardar los datos de alguien:

<?php
   $persona = array(
      'nombre' => 'Fernando',
      'apellido' => 'Gaitan',
      'edad' => 27,
      'programador' => true
   );
?>

Y luego para acceder a una de sus posiciones deberíamos usar corchetes con lo que se conoce como índice:

<?php
   $persona = array(
      'nombre' => 'Fernando',
      'apellido' => 'Gaitan',
      'edad' => 27,
      'programador' => true
   );
   echo $persona['nombre'];//Devuelve Fernando.
?>

 

Arreglos multidimensionales

Bien, sabemos que un array puede guardar cadenas, números y valores de tipo boolean. Pero un array en realidad puede guardar una colección de cualquier tipo de dato como otro array o un objeto (mucho más adelante veremos que es un objeto) Si quisiéramos hacer lo mismo que hicimos en el anterior ejemplo, pero guardando un lista con varias personas entonces deberíamos hacer algo como esto:

<?php
   $personas = array(
   array(
      'nombre' => 'Fernando',
      'apellido' => 'Gaitan',
      'edad' => 27,
      'programador' => true
   ),
   array(
      'nombre' => 'Tomás',
      'apellido' => 'Benvenuto',
      'edad' => 20,
      'programador' => true
   ),
   array(
      'nombre' => 'Andrés',
      'apellido' => 'Martínez',
      'edad' => 32,
      'programador' => false
   )
 );
?>

Y para recuperar el valor deberíamos llamar a la posición y el índice. Por ejemplo, si quisiéramos devolver la edad de la segunda persona:

echo $personas[1]['edad'];//Esto devolverá 20

 

Anterior: Aprendiendo PHP, parte 5: Cadenas de texto

Siguiente: Aprendiendo PHP, parte 7: Constantes