Класс позволяет организовать иерархическое хранение значений с равнозначным доступом к ним как к элементам многомерных массивов или объектов, содержащих коллекции объектов.
Примеры
// аналогично: $a['b'] = 100; $a->b = 100; // аналогично: echo $a['b']; echo $a->b; // аналогично: $a['b']['c'] = 200; $a->b->c = 200; // аналогично: echo $a['b']['c']; echo $a->b->c; // свойства, в которых есть вложенные свойства, — это экземпляры класса waArrayObject $a->b->c = 200; wa_dump($a->b); // waArrayObject object
Методы
-
__construct
Конструктор класса.
-
setAll
Сохраняет указанные значения в свойства объекта.
-
count
Возвращает количество элементов 1-го уровня.
-
toArray
Возвращает значения свойств объекта в виде ассоциативного массива.
-
clear
Удаляет все свойства объекта.
-
keyExists
Проверяет наличие в объекте свойства 1-го уровня с указанным именем.
-
ifset
Возвращает значение свойства 1-го уровня с указанным именем либо значение по умолчанию.
-
ifempty
Возвращает непустое значение свойства 1-го уровня с указанным именем либо значение по умолчанию.
public function __construct ($data = [])
Конструктор класса, который инициализирует значения свойств объекта с помощью метода setAll().
Параметры
-
$data
Значение, реализующее интерфейс
Traversable
.
Пример
$object = new waArrayObject([ 'part1' => 'Hello', 'part2' => 'world!', ]); echo $object->part1 . ' ' . $object->part2;
Результат
Hello world!
public function setAll ($data)
Сохраняет элементы указанного значения, реализующего интерфейс Traversable
, в свойства объекта.
Параметры
-
$data
Значение, реализующее интерфейс
Traversable
.
Пример
$object = new waArrayObject(); $object->setAll([ 'part1' => 'Hello', 'part2' => 'world!', ]); echo $object->part1 . ' ' . $object->part2;
Результат
Hello world!
public function count()
Возвращает количество элементов 1-го уровня.
Пример
$object = new waArrayObject([ 'foo' => 100, 'bar' => [ 'test' => 200 ], ]); echo $object->count();
Результат
2
public function toArray()
Возвращает значения свойств объекта в виде ассоциативного массива.
Пример
$object = new waArrayObject([ 'foo' => 100, 'bar' => [ 'qwerty' => 200 ], ]); wa_dump($object->toArray());
Результат
[ 'foo' => 100, 'bar' => [ 'qwerty' => 200, ], ]
public function clear()
Удаляет все свойства объекта.
Пример
$object = new waArrayObject([ 'foo' => 100, 'bar' => [ 'qwerty' => 200 ], ]); $object->clear(); wa_dump($object->toArray());
Результат
[]
public function keyExists ($name)
Проверяет наличие в объекте свойства 1-го уровня с указанным именем.
Параметры
-
$name
Имя свойства 1-го уровня.
Пример
$object = new waArrayObject([ 'foo' => null, 'bar' => false, ]); wa_dump($object->keyExists('foo'));
Результат
true
public function ifset ($name, $default = null)
Возвращает значение свойства 1-го уровня с указанным именем либо значение по умолчанию.
Параметры
-
$name
Имя свойства 1-го уровня.
-
$default
Значение по умолчанию. Возвращается методом, если свойство 1-го уровня с именем, указанным в параметре
$name
, не заполнено значением, отличным отnull
.
Пример
$object = new waArrayObject([ 'foo' => 100, 'bar' => null, ]); wa_dump($object->ifset('bar', 200));
Результат
200
public function ifempty ($name, $default = null)
Возвращает непустое значение свойства 1-го уровня с указанным именем либо значение по умолчанию.
Параметры
-
$name
Имя свойства 1-го уровня.
-
$default
Значение по умолчанию. Возвращается методом, если свойство 1-го уровня с именем, указанным в параметре
$name
, не заполнено значением, конвертируемым вtrue
.
Пример
$object = new waArrayObject([ 'foo' => 100, 'bar' => 0, ]); wa_dump($object->ifempty('bar', 200));
Результат
200