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