fobia/php-object-collection

v0.3.1 2016-01-08 22:19 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:11:37 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

对象集合。允许同时处理所有对象,过滤、设置和提取它们的属性。

安装

可以使用 Composer 将 PHP 对象集合安装为项目 composer.json 文件中的一个依赖项。

{
    "require": {
        "fobia/php-object-collection": "*"
    }
}

有关更详细安装和使用说明,请参阅 Composer 文档

用法

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) {});