Колекция объектов. Позволяет работать сразу над всеми объектами, фильтравать, устанавливать и извлекать их свойства.
PHP Object Collection can be installed with Composer by adding it as a dependency to your project's composer.json file.
{
"require": {
"fobia/php-object-collection": "*"
}
}
Please refer to Composer's documentation for more detailed installation and usage instructions.
Получить элемент по индексу
$oc->eq(); // Первый элемент
$oc->eq(0); // эквивалентно
$oc->eq(1); // Второй элемент
Найти все элементы, параметр которых удовлетворяют услови. Возвращает ноый экземпляр колекции объектов.
Поиск объектов с существующим свойством
$oc->find('Location');
Поиск объектов со свойством равным указаному значению
$oc->find('Location', 'localhost/js');
Поиск объектов удавлетворяющие возврату функции
$oc->find(function($obj, $key) {});
Отфильтровать список объектов используя функции обратного вызова. В Функцию передаються объект и его индекс. Все объекты на которые функция вернула false
, исключаються.
Возвращает объект текущей колекции
Отфильтрует так, что остануться те элементы, свойство id
которых соответствуют индексу в колекции. Причем после фильтрации индексы сбрасываються.
$oc->filter(function($object, $key) {
return ($object->id == $key);
});
Обходит весь масив, передавая функции объект, его индекс и дополнительные параметры. Если функция возвращает false
, обход останавливаеться.
Возвращает объект текущей колекции
$oc->each(function($object, $key) {});