PHP 的集合类(如 ArrayCollection、Collection 等)通常支持链式操作。这些集合类实现了 IteratorAggregate
接口,该接口定义了一个 getIterator()
方法,用于返回一个迭代器实例。链式操作是通过返回集合类自身的实例来实现的。
以下是一些常见的 PHP 集合类及其链式操作示例:
$arrayCollection = new ArrayCollection([1, 2, 3, 4, 5]);
$filteredCollection = $arrayCollection->filter(function ($item) {
return $item % 2 == 0;
})->map(function ($item) {
return $item * 2;
});
use Illuminate\Support\Collection;
$collection = new Collection([1, 2, 3, 4, 5]);
$filteredCollection = $collection->filter(function ($item) {
return $item % 2 == 0;
})->map(function ($item) {
return $item * 2;
});
在这些示例中,filter()
和 map()
方法分别用于过滤和映射集合中的元素。这些方法返回一个新的集合实例,从而支持链式操作。