Класс позволяет организовать иерархическое хранение значений с равнозначным доступом к ним как к элементам многомерных массивов или объектов, содержащих коллекции объектов.
Примеры
// аналогично: $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









