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'];
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 «.
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]
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;
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 «.
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.