Массивы

Работа с массивами в Zephir происходит таким же образом как и с массивами в PHP. По своей сути, массив является реализацией хеш таблицы.

Объявление массивов

Массивы могут быть объявлены с помощью ключевых слов ‘var’ или ‘array’:

var a = []; // массив, с возможностью переопределения типа
array b = []; // массив, без возможности переопределения типа

Создание массивов

Массив создается путём заключения его элементов в квадратные скобки:

Создание пустого массива
let elements = [];
Создание массива с элементами
let elements = [1, 3, 4];
Создание массива с элементами разных типов
let elements = ["first", 2, true];
Создание многомерного массива
let elements = [[0, 1], [4, 5], [2, 3]];

Как и в PHP, поддерживаются простые (списки) и ассоциативные массивы:

Создание массива с строковыми ключами
let elements = ["foo": "bar", "bar": "foo"];
Создание массива с числовыми ключами
let elements = [4: "bar", 8: "foo"];
Создание массива со смешанными ключами (строковые и числовые)
let elements = [4: "bar", "foo": 8];

Обновление массивов

Массивы обновляются так же, как в PHP, используя квадратные скобки:

Обновление массива с строковым ключём
let elements["foo"] = "bar";
Обновление массива с числовым ключем
let elements[0] = "bar";
Обновление многомерного массива
let elements[0]["foo"] = "bar";
let elements["foo"][0] = "bar";

Добавление элементов

Элементы могут быть добавлены в конце массива следующим образом:

Добавление элемента в массив
let elements[] = "bar";

Чтение элементов из массивов

Можно прочитать элементы массива следующим образом:

Получение элемента используя строковый ключ foo
let foo = elements["foo"];
Получение элемента используя числовой ключ 0
let foo = elements[0];