jueves, 31 de diciembre de 2015

4 - Tutorial de PHP7 - Arrays




Bienvenid@s, en este capítulo del Tutorial de PHP7 continuamos con la referencia del lenguaje, concretamente con los tipos de datos compuestos Arrays y el tipo de datos especial NULL.

Referencia del Lenguaje - Tipo de datos compuestos: Arrays | tipo de datos especiales: NULL

Definición de Array: Un array en PHP es en realidad un mapa ordenado. Un mapa es un tipo de datos que asocia valores con claves. Este tipo se optimiza para varios usos diferentes; se puede emplear como un array, lista (vector), tabla asociativa (tabla hash - una implementación de un mapa), diccionario, colección, pila, cola, y posiblemente más. Ya que los valores de un array pueden ser otros arrays, también son posibles árboles y arrays multidimensionales.
 
Definición de NULL: El valor especial NULL representa una variable sin valor.

Modos de crear arrays:
  • Un array puede ser creado con el constructor del lenguaje array()
  • A partir de PHP 5.4 también se puede usar la sintaxis de array corta, la cual reemplaza el constructor del lenguaje array() con los corchetes [].
Tipos de arrays que se practicarán:
  • Arrays unidimensionales: array que contiene como elementos valores unidimensionales como por ejemplo los tipos de datos escalares.
  • Arrays multidimensionales (árbol): array que contiene como elementos otros arrays, este tipo de arrays también pueden contener elementos unidimensionales.
  • Arrays asociativos: array cuyos elementos son asociados a través de una clave, la clave se asocia al valor del elemento, la clave puede ser del tipo integer ó string.
Funciones optimas para imprimir el contenido de un array: var_dump($array) y print_r($array)


Código de ejemplo del script arrays.php del capítulo:

<?php 
//Variable sin valor
$variable = null;

//Arrays unidimensionales, arrays indexados
//Array con el constructor del lenguaje array()
$array_1 = array(1, 2, 3, 4, 5, "string", 3.14, true, "más elementos");
//Array con la sintaxis corta []
$array_2 = [1, 2, 3, 4, 5];

//Mostrar información del array
var_dump($array_1);

echo "<p>Accediendo al primer elemento del array_1: " . $array_1[0] . "</p>";
echo "<p>Accediendo al elemento con index 5 en array_1: " . $array_1[5] . "</p>";
echo "<p>Total de elementos del array_2: " . count($array_2) . "</p>";

//Cambiar valor de un elemento del array en tiempo de ejecución
$array_2[1] = 'Me has cambiado de valor';
echo "<p>Accediendo al elemento con index 1 en array_2: " . $array_2[1] . "</p>";

//Arrays multidimensionales, entre sus elementos se encuentran otros arrays
$array_3 = ['uno', 2, ['tres', 'cuatro', [5, 6]], $array_2];

//Mostrar información del array
var_dump($array_3);
//Acceso a valores de elementos de arrays multidimensionales
echo "<p>" . $array_3[2][1] . "</p>";
echo "<p>" . $array_3[2][2][1] . "</p>";
echo "<p>" . $array_3[3][4] . "</p>";

/* Arrays asociativos, no indexados, se accede a los elementos a través de una clave que se asocia a un determinado valor */
$array_4 = ['uno' => 1, 'dos' => 2, 3 => 'hola', 'array' => $array_2, 'array1' => ['uno', 'dos']];
var_dump($array_4);
echo "<p>Accediendo al segundo elemento del array_4: " . $array_4['dos'] . "</p>";
echo "<p>Accediendo al tercer elemento del array_4: " . $array_4[3] . "</p>";
$array_4[3] = 'cambiando de valor';
echo "<p>Accediendo al tercer elemento del array_4: " . $array_4[3] . "</p>";

echo "<p>" . $array_4['array'][0] . "</p>";