Declaración de Arrays Php
Qué es un Array
Un array o arreglo se define como uma colección de variables guardadas bajo un mismo nombre, diferenciadas entre sí por un índice.
En el lenguaje Php podemos encontrar 2 tipos de arrays: secuenciales y asociativos.
Arrays secuenciales o indexados
Los arrays secuenciales son arrays tradicionales compuestos de variables con localizador (índice).
Declaración de arrays indexados
La declaración de un array indexado se puede hacer directamente añadiendo valores
<?php
$alumno[] = 3.3; //Equivale a $alumno[0] = 3.3;
$alumno[] = 8.6; //Equivale a $alumno[1] = 8.6;
$alumno[] = 5.2; //Equivale a $alumno[2] = 5.2;
?>
O bien indicando el índice que corresponderá a cada valor
<?php
$alumno[0] = 3.3;
$alumno[1] = 8.6;
$alumno[2] = 5.2;
?>
Al declarar un nuevo elemento, éste ocupa la siguiente posición.
<?php
$alumno[2] = 5.3;
$alumno[5] = 8.1;
$alumno[] = 7.8; //Equivale a $alumno[6] = 7.8;
//Siempre se asigna el entero posterior al último utilizado
//(aunque haya sido borrado)
?>
Se pueden declarar también mediante el constructor array()
<?php
$precios = array(25, 33, 57);
$paises = array("México", "Colombia", "Chile");
?>
A partir de Php 5.4 es posible declarar arrays indexados mediante corchetes
<?php
$precios = [25, 33, 57];
$paises = ["México", "Colombia", "Chile"];
?>
Arrays asociativos
Los arrays asociativos, en vez de utilizar indices como los indexados, utilizan claves para asociar las variables.
<?php
$nuevoArray = array(clave1 => valor1, clave2 => valor2, clave3 => valor3, ...);
?>
Declaración de arrays
- Declaración sencilla de un Array asociativo
<?php
$alumno["Carlos"] = 7.3;
$alumno["Pedro"] = 4.8;
?>
- Mediante el constructor array()
<?php
$edades = array("Juan" => 24, "Andrea" => 31);
?>
- Mediante corchetes (A partir de Php 5.4)
<?php
$edades = ["Juan" => 24, "Andrea" => 31];
?>
Los Arrays en Php pueden contener claves (String o Integer al mismo tiempo) ya que no distingue entre arrays indexados y asociativos.
Veamos un ejemplo
<?php
$nuevoArray = array("fruta" => "manzana", "animal" => "oveja", 100 => 1000, 200 => -200);
?>
Comprobar si es secuencial o asociativo
Podemos utilizar el siguiente código para comprobar si un array es secuencial o asociativo.
function is_assoc($array) {
foreach(array_keys($array) as $key) {
if (!is_int($key)) return true;
}
return false;
}
La función recorre todas las claves del array y si encuentra alguna que no sea de tipo integer devolverá true, indicando que el array es asociativo.
En caso contrario devolverá false indicando que el array es secuencial.
Si te ha gustado no olvides compartir en redes sociales.
Espero que te haya servido. Cualquier duda deja un comentario. Un saludo