Arrays ¶
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.
Una explicación sobre tales estructuras de datos está fuera del alcance de este manual, aunque se proporciona al menos un ejemplo de cada uno de ellos. Para más información, consulte la extensa literatura que existe sobre este amplio tema.
Sintaxis ¶
Especificación con array() ¶
Un array puede ser creado con el constructor del lenguaje array(). Éste toma cualquier número de parejas clave => valor como argumentos.
array( clave => valor, clave2 => valor2, clave3 => valor3, ... )
La coma después del último elemento del array es opcional, pudiéndose omitir. Esto normalmente se hace para arrays de una única línea, es decir, es preferible array(1, 2) que array(1, 2, ). Por otra parte, para arrays multilínea, la coma final se usa frecuentemente, ya que permite una adición más sencilla de nuevos elementos al final.
A partir de PHP 5.4 también se puede usar la sintaxis de array corta, la cual reemplaza array() con [].
Ejemplo #1 Un array simple
<?php
$array = array(
"foo" => "bar",
"bar" => "foo",
);
// a partir de PHP 5.4$array = [
"foo" => "bar",
"bar" => "foo",
];?>
Además, se darán los siguientes amoldamientos de clave:
- Un strings que contenga un integer válido será amoldado al tipo integer. P.ej. la clave "8" en realidad será almacenada como 8. Por otro lado "08" no será convertido, ya que no es un número integer decimal válido.
- Un floats también será amoldado a integer, lo que significa que la parte fraccionaria se elimina. P.ej., la clave 8.7 en realidad será almacenada como 8.
- Un booleano son amoldados a integers también, es decir, la clave true en realidad será almacenada como 1 y la clave false como 0.
- Un null será amoldado a un string vacío, es decir, la clave null en realidad será almacenada como "".
- Los arrays y los objects no pueden utilizarse como claves. Si se hace, dará lugar a una advertencia: Illegal offset type.
Si varios elementos en la declaración del array usan la misma clave, sólo se utilizará la última, siendo los demás son sobrescritos.
Ejemplo #2 Ejemplo de amoldamiento de tipo y sobrescritura
<?php
$array = array(
1 => "a",
"1" => "b",
1.5 => "c",
true => "d",
);var_dump($array);?>
El resultado del ejemplo sería:
array(1) { [1]=> string(1) "d" }
Como todas las claves en el ejemplo anterior se convierten en 1, los valores serán sobrescritos en cada nuevo elemento, por lo que el último valor asignado "d" es el único que queda.
Los arrays de PHP pueden contener claves integer y string al mismo tiempo ya que PHP no distingue entre arrays indexados y asociativos.
link : http://php.net/manual/es/language.types.array.php
No hay comentarios:
Publicar un comentario