Класс ZipIterator
Создаёт итератор, возвращающий элементы, сгруппированные парами
Пример
$iterator = new ZipIterator([[1, 2], [3, 4]]); $iterator->toList(); // Returns [[1, 3], [2, 4]]
Вы также можете выбрать пользовательскую функцию для объединения элементов, например, суммировать по индексу:
Пример
$iterator = new ZipIterator([[1, 2], [3, 4]], function ($a, $b) {
return $a + $b;
});
$iterator->toList(); // Returns [4, 6] - MultipleIterator реализует Iterator, Traversable
-
Cake\Collection\Iterator\ZipIterator реализует Cake\Collection\CollectionInterface, Serializable использует Cake\Collection\CollectionTrait
Унаследованные константы
-
MIT_KEYS_ASSOC,MIT_KEYS_NUMERIC,MIT_NEED_ALL,MIT_NEED_ANY
Резюме свойств
-
$_callbackprotectedФункция, используемая для объединения элементовcallable -
$_iteratorsprotectedСодержит исходные объекты итератора, которые были присоединеныarray
Резюме методов
- __construct() public
Создаёт итератор для объединения значений всех переданных итераторов по соответствующим индексам.
- current() public
Возвращает значение, полученное в результате объединения всех элементов для всех итераторов с одинаковым позиционным индексом.
- serialize() public
Возвращает строковое представление этого объекта, которое может быть использовано для его восстановления
- unserialize() publicДесериализует переданную строку и восстанавливает экземпляр ZipIterator
Детали методов
__construct()source public
__construct( array $sets , callable|null $callable = null )
Создаёт итератор для объединения значений всех переданных итераторов по соответствующим индексам.
Параметры
- массив
$sets - Список массивов или итераторов, которые необходимо объединить.
- вызываемая функция|null
$callableoptional null - Функция, используемая для объединения элементов каждого итератора.
Переопределяет
MultipleIterator::__construct() current()source public
current( )
Возвращает значение, полученное в результате объединения всех элементов для всех итераторов с одинаковым позиционным индексом.
Возвращает
смешанный типПереопределяет
MultipleIterator::current() Реализация
Iterator::current() serialize()source public
serialize( )
Возвращает строковое представление этого объекта, которое может быть использовано для его восстановления
Возвращает
строкаРеализация
Serializable::serialize() unserialize()source public
unserialize( string $iterators )
Десериализует переданную строку и восстанавливает экземпляр ZipIterator
Параметры
- строка
$iterators - Десериализованные итераторы
Реализация
Serializable::unserialize() Методы, используемые из Cake\Collection\CollectionTrait
_unwrap()source public
_unwrap( )
append()source public
append( $items )
appendItem()source public
appendItem( $item , $key = null )
avg()source public
avg( $matcher = null )
cartesianProduct()source public
cartesianProduct( callable $operation = null , callable $filter = null )
Возвращает
Cake\Collection\CollectionInterfacechunk()source public
chunk( $chunkSize )
chunkWithKeys()source public
chunkWithKeys( $chunkSize , $preserveKeys = true )
combine()source public
combine( $keyPath , $valuePath , $groupPath = null )
compile()source public
compile( $preserveKeys = true )
contains()source public
contains( $value )
countBy()source public
countBy( $callback )
each()source public
each( callable $c )
every()source public
every( callable $c )
extract()source public
extract( $matcher )
filter()source public
filter( callable $c = null )
Возвращает
Cake\Collection\Iterator\FilterIteratorfirst()source public
first( )
firstMatch()source public
firstMatch( array $conditions )
groupBy()source public
groupBy( $callback )
indexBy()source public
indexBy( $callback )
isEmpty()source public
isEmpty( )
jsonSerialize()source public
jsonSerialize( )
last()source public
last( )
listNested()source public
listNested( $dir = 'desc' , $nestingKey = 'children' )
Возвращает
Cake\Collection\Iterator\TreeIteratormatch()source public
match( array $conditions )
max()source public
max( $callback , $type = \SORT_NUMERIC )
median()source public
median( $matcher = null )
min()source public
min( $callback , $type = \SORT_NUMERIC )
nest()source public
nest( $idPath , $parentPath , $nestingKey = 'children' )
optimizeUnwrap()source protected
optimizeUnwrap( )
Распаковывает этот итератор и возвращает самый простой итерируемый объект, который может быть использован для извлечения данных
Возвращает
Traversable|arrayprepend()source public
prepend( $items )
prependItem()source public
prependItem( $item , $key = null )
reduce()source public
reduce( callable $c , $zero = null )
sample()source public
sample( $size = 10 )
shuffle()source public
shuffle( )
skip()source public
skip( $howMany )
some()source public
some( callable $c )
sortBy()source public
sortBy( $callback , $dir = \SORT_DESC , $type = \SORT_NUMERIC )
stopWhen()source public
stopWhen( $condition )
Возвращает
Cake\Collection\Iterator\StoppableIteratorsumOf()source public
sumOf( $matcher = null )
take()source public
take( $size = 1 , $from = 0 )
through()source public
through( callable $handler )
toArray()source public
toArray( $preserveKeys = true )
toList()source public
toList( )
unfold()source public
unfold( callable $transformer = null )
unwrap()source public
unwrap( )
zip()source public
zip( $items )
zipWith()source public
zipWith( $items , $callable )
Подробное описание свойств
$_iteratorssource
protected array
Содержит исходные объекты итераторов, которые были присоединены
[]
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.6/class-Cake.Collection.Iterator.ZipIterator.html