Arrays

Array manipulation in Zephir provides a way to use PHP array. Un array es una implementación de una tabla hash.

Declarar Variables de tipo Array

Variables de array pueden ser declaradas usando las palabras clave ‘var’ o ‘array’:

var a   = []; // variable array, el tipo puede ser cambiado
array b = []; // variable array, el tipo no puede ser cambiado durante la ejecución

Creación de Arrays

Un array se crea encerrando sus elementos entre corchetes:

Crear una arreglo vacío
let elements = [];
Crear un arreglo con elementos
let elements = [1, 3, 4];
Crear un arreglo con elementos de diferentes tipos
let elements = ["first", 2, true];
Un arreglo multidimensional
let elements = [[0, 1], [4, 5], [2, 3]];

Al igual que en PHP los hashes o claves están soportadas, también conocidos como arreglos asociativos:

Creación de un arreglo asociativo con claves de texto
let elements = ["foo": "bar", "bar": "foo"];
Creación de un array asociativo con claves numéricas
let elements = [4: "bar", 8: "foo"];
Creación de un array asociativo mixto, con claves de texto y numéricas
let elements = [4: "bar", "foo": 8];

Actualización de arrays

Los arreglos se actualizan en la misma manera que en PHP, utilizando corchetes cuadrados:

Actualización de un array con una llave de texto
let elements["foo"] = "bar";
Actualización de un array con una llave numérica
let elements[0] = "bar";
Actualización de un array multidimensional
let elements[0]["foo"] = "bar";
let elements["foo"][0] = "bar";

Agregando elementos

Los elementos pueden ser añadidos al final del array de la siguiente manera:

Añadir un nuevo elemento a un array
let elements[] = "bar";

Leyendo elementos desde arrays

Es posible leer los elementos de la matriz de la siguiente forma:

Obteniendo un elemento utilizando la clave de texto foo
let foo = elements["foo"];
Obteniendo un elemento utilizando la clave numérica 0
let foo = elements[0];