Arrays en PHP

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

Un array es un tipo de dato que en lugar de almacenar un único valor puede almacenar una colección de valores.

Cada uno de estos valores será identíficado por un índice, que en el caso de PHP, puede ser numérico o de texto.

Imagina, por ejemplo, una estantería. Cada una de las baldas de la estantería tendrá un valor. Podemos identificar cada una de estas baldas con un número, que será cero para la primera balda, uno para la segunda y así sucesivamente.

Podrías crear un array que tuviese el contenido de esta estantería utilizando el siguiente código:

Declaración de un array en PHP:

<?php
 $cosas = ['corazon', 'cara sonriente', 'sol'];
javascript array

Para acceder a cada uno de los elementos del array utilizaremos un número que indentifica su posición.

<?php
 $cosas = ['corazon', 'cara sonriente', 'sol'];
 echo $cosas[0]; // corazon
 echo $cosas[1]; // cara sonriente
 echo $cosas[2]; // sol

Métodos para manipulación de arrays

push / pop

<?php
 $cosas = ['corazon', 'cara sonriente', 'sol'];
 array_push($cosas, 'fresa'); // Añade elemento al final
 var_dump($cosas); // ['corazon', 'cara sonriente', 'sol', 'fresa'];
<?php
 $cosas = ['corazon', 'cara sonriente', 'sol'];
 array_pop($cosas); // Elimina el último elemento
 var_dump($cosas); // ['corazon', 'cara sonriente']

Eliminar un elemento de un array

<?php
 $cosas = ["corazon", "cara sonriente", "sol"];
//El siguiente método borra el elemento “sol”
 unset($cosas[2]);
 var_dump($cosas); // ['corazon', 'cara sonriente']

Obtener la longitud de un array

<?php
 $cosas = ["corazon", "cara sonriente", "sol"];
 $longitud = count($cosas);
 echo $longitud;

Convertir un array en texto y un texto en array

Array a texto: 
<?php
 $array = array("afsdf", "asdf", "asdf", "asdf");
 $txt = join(", ", $array);
 var_dump($txt); // "corazon, cara sonriente"
Texto a Array:  
<?php
 $pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
 $pieces = explode(" ", $pizza);
 var_dump($pieces); // ["piece1", "piece2", "piece3", "piece4", "piece5", "piece6"]

Arrays asociativos

Son aquellos cuya clave para acceder a los valores es un texto en lugar de un índice numérico.

<?php 
 $capital['DE'] = "Berlin";
 $capital['DK'] = "Copenhague";
 $capital['ES'] = "Madrid";

 echo $capital['ES']; // Madrid
<?php 
 $capital =array("DE"=>"Berlín", "DK" =>"Copenhage", "ES" =>"Madrid");

 echo $capital['ES']; // Madrid

Ejercicios arrays

1. Crea un array con cinco nombres de persona y recórrelo con un bucle for mostrando el texto «Conozco a alguien llamado «.

Arrays en PHP 1

2. Crea una función toArray que reciba dos valores y devuelva un array con estos dos valores.

Por ejemplo, la llamada:

toArray(5,9);

debería devolver el array [5, 9]

3. Recorrer la siguiente lista con un bucle imprimiendo el doble de cada número:

$numbers = [1,9,3,8,5,7]
Arrays en PHP 2

4. Escribe una función llamada getFirstElement que reciba un array y devuelva el primer elemento.

Por ejemplo:

getFirstElement([1, 2]);

debería devolver 1.

5. Escribe una función llamada setFirstElement que reciba como parámetro de entrada un array y un valor cualquiera. El valor recibido debería reemplazar lo que haya en la primera posición del array. El array debería ser devuelto.

Ejemplo:

setFirstElement([1, 2], 3);

debería devolver [3, 2]

6. Escribe una función getLastElement que reciba un array como parámetro de entrada y devuelva el último elemento del array.

Por ejemplo:

getLastElement([1, 2]);

debería devolver 2.

7. Contar el número de elementos positivos, negativos y que valgan cero en un array de 10 enteros. Los valores habrán sido harcodeados en un array. La salida por pantalla debería ser similar a esta:

// Array con valores harcodeados: [1, 9, -3, 8, -5, 0, 3, 4, 6, -7]
Cantidad de positivos:  6
Cantidad de negativos:  3
Cantidad de ceros:  1

8. Leer 10 enteros harcodeados en un array y mostrar la media de los valores negativos y la de los positivos.

9. Selecciona un elemento del array arr de tal forma que una variable que debes declarar llamada myData sea igual a 8.

$arr = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9],
  [[10, 11, 12], 13, 14]
];
$myData = $arr[?][?]; // Modificar únicamente esta línea para acceder al 8 del array bidimensional
echo myData;
$myData = arr[2][1]; 

Estructura foreach

Dado que en la mayoría de los casos recorremos un array llendo de uno en uno, desde el primer elemento hasta el último, el bucle forEach nos ofrece una sintaxis más simplificada que utilizar el tradicional bucle for.

$cosas = ['corazon', 'cara sonriente', 'sol'];

foreach ($cosas as $val) {
    echo $val;
}

Ejercicios de arrays resueltos utilizando foreach

1. Crear un array con cinco nombres de persona y recórrelo mostrando el texto «Conozco a alguien llamado «.

Arrays en PHP 3

2. Recorrer la siguiente lista con un bucle foreach imprimiendo el doble de cada número:

$numbers = [1,9,3,8,5,7]

3. Contar el número de elementos positivos, negativos y que valgan cero en un array de 10 enteros. Los valores habrán sido harcodeados en un array. La salida por pantalla debería ser similar a esta:

// Array con valores harcodeados: [1, 9, -3, 8, -5, 0, 3, 4, 6, -7]
Cantidad de positivos:  6
Cantidad de negativos:  3
Cantidad de ceros:  1

4. Leer 10 enteros harcodeados en un array y mostrar la media de los valores negativos y la de los positivos.

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.