Skip to content

fobiaphp/php-object-collection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP Object Collection

Latest Stable Version Total Downloads Latest Unstable Version License

Колекция объектов. Позволяет работать сразу над всеми объектами, фильтравать, устанавливать и извлекать их свойства.

Installation

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.

Usage

eq

Получить элемент по индексу

$oc->eq();  // Первый элемент
$oc->eq(0); // эквивалентно
$oc->eq(1); // Второй элемент

find

Найти все элементы, параметр которых удовлетворяют услови. Возвращает ноый экземпляр колекции объектов.

Поиск объектов с существующим свойством

$oc->find('Location');

Поиск объектов со свойством равным указаному значению

$oc->find('Location', 'localhost/js');

Поиск объектов удавлетворяющие возврату функции

$oc->find(function($obj, $key) {});

filter

Отфильтровать список объектов используя функции обратного вызова. В Функцию передаються объект и его индекс. Все объекты на которые функция вернула false, исключаються. Возвращает объект текущей колекции

Отфильтрует так, что остануться те элементы, свойство id которых соответствуют индексу в колекции. Причем после фильтрации индексы сбрасываються.

$oc->filter(function($object, $key) {
    return ($object->id == $key);   
});

each

Обходит весь масив, передавая функции объект, его индекс и дополнительные параметры. Если функция возвращает false, обход останавливаеться. Возвращает объект текущей колекции

$oc->each(function($object, $key) {});