Класс SortIterator
Итератор, который вернёт переданные элементы в определённом порядке. Порядок определяется значением, возвращаемым функцией обратного вызова, которая сопоставляет каждый из элементов.
Пример:
$items = [$user1, $user2, $user3]; $sorted = new SortIterator($items, function ($user) { return $user->age; }); // output all user name order by their age in descending order foreach ($sorted as $user) { echo $user->name; }
Этот итератор не сохраняет ключи, переданные в исходных элементах.
- IteratorIterator реализует Iterator, Traversable, OuterIterator
-
Cake\Collection\Collection реализует Cake\Collection\CollectionInterface, Serializable использует Cake\Collection\CollectionTrait -
Cake\Collection\Iterator\SortIterator
Подробное описание методов
__constructsource public
__construct( array|Traversable $items , callable|string $callback , integer $dir SORT_DESC , integer $type SORT_NUMERIC )
Оборачивает этот итератор вокруг переданных элементов, так что при итерировании они возвращаются в нужном порядке.
Функция обратного вызова получит в качестве первого аргумента каждый из элементов в $items, а возвращаемое значение функции обратного вызова будет использовано в качестве значения для сортировки такого элемента. Обратите внимание, что функция обратного вызова может быть вызвана более одного раза для одного элемента.
Параметры
- массив|Traversable
$items - Значения для сортировки
- обратная функция|строка
$callback - Функция, используемая для возвращения фактического значения для сравнения. Она также может быть строкой, представляющей путь для извлечения столбца или свойства в каждом элементе
- целое число
$dirнеобязательно SORT_DESC - либо SORT_DESC, либо SORT_ASC
- целое число
$typeнеобязательно SORT_NUMERIC - тип сравнения, либо SORT_STRING, SORT_NUMERIC или SORT_NATURAL
Исключения
InvalidArgumentExceptionЕсли передан неверный тип для элементов.
Переопределяет
Cake\Collection\Collection::__construct() Методы, унаследованные от Cake\Collection\Collection
__debugInfosource public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
arrayмассив
countsource public
count( )
Выбрасывает исключение.
Выполнение подсчёта для Collection может иметь много побочных эффектов, некоторые из которых делают Collection непригодной для использования после операции подсчёта.
Исключения
LogicException\LogicException
serializesource public
serialize( )
Возвращает строковое представление этого объекта, которое можно использовать для его восстановления
Возвращает
stringстрока
Реализация
Serializable::serialize() unserializesource public
unserialize( string $collection )
Десериализует переданную строку и восстанавливает экземпляр Collection
Параметры
- строка
$collection - Десериализованная коллекция
Реализация
Serializable::unserialize() Методы, используемые из Cake\Collection\CollectionTrait
_unwrapsource public
_unwrap( )
Обратная совместимость обёртки для unwrap()
Устарело
Возвращает
Iterator\Iterator
bufferedsource public
buffered( )
Возвращает
Cake\Collection\Iterator\BufferedIterator\Cake\Collection\Iterator\BufferedIterator
Реализация
Cake\Collection\CollectionInterface::buffered() chunksource public
chunk( mixed $chunkSize )
Реализация
Cake\Collection\CollectionInterface::chunk() combinesource public
combine( mixed $keyPath , mixed $valuePath , mixed $groupPath null )
Реализация
Cake\Collection\CollectionInterface::combine() compilesource public
compile( mixed $preserveKeys true )
Реализация
Cake\Collection\CollectionInterface::compile() containssource public
contains( mixed $value )
Реализация
Cake\Collection\CollectionInterface::contains() countBysource public
countBy( mixed $callback )
Реализация
Cake\Collection\CollectionInterface::countBy() extractsource public
extract( mixed $matcher )
Реализация
Cake\Collection\CollectionInterface::extract() filtersource public
filter( callable $c null )
Возвращает
Cake\Collection\Iterator\FilterIterator\Cake\Collection\Iterator\FilterIterator
Реализация
Cake\Collection\CollectionInterface::filter() firstMatchsource public
firstMatch( array $conditions )
Реализация
Cake\Collection\CollectionInterface::firstMatch() groupBysource public
groupBy( mixed $callback )
Реализация
Cake\Collection\CollectionInterface::groupBy() indexBysource public
indexBy( mixed $callback )
Реализация
Cake\Collection\CollectionInterface::indexBy() insertsource public
insert( mixed $path , mixed $values )
Возвращает
Cake\Collection\Iterator\InsertIterator\Cake\Collection\Iterator\InsertIterator
Реализация
Cake\Collection\CollectionInterface::insert() jsonSerializesource public
jsonSerialize( )
Реализация
Cake\Collection\CollectionInterface::jsonSerialize() listNestedsource public
listNested( mixed $dir 'desc' , mixed $nestingKey 'children' )
Возвращает
Cake\Collection\Iterator\TreeIterator\Cake\Collection\Iterator\TreeIterator
Реализация
Cake\Collection\CollectionInterface::listNested() mapsource public
map( callable $c )
Возвращает
Cake\Collection\Iterator\ReplaceIterator\Cake\Collection\Iterator\ReplaceIterator
Реализация
Cake\Collection\CollectionInterface::map() matchsource public
match( array $conditions )
Реализация
Cake\Collection\CollectionInterface::match() maxsource public
max( mixed $callback , mixed $type SORT_NUMERIC )
Реализация
Cake\Collection\CollectionInterface::max() minsource public
min( mixed $callback , mixed $type SORT_NUMERIC )
Реализация
Cake\Collection\CollectionInterface::min() nestsource public
nest( mixed $idPath , mixed $parentPath )
Реализация
Cake\Collection\CollectionInterface::nest() reducesource public
reduce( callable $c , mixed $zero null )
Реализация
Cake\Collection\CollectionInterface::reduce() rejectsource public
reject( callable $c )
Возвращает
Cake\Collection\Iterator\FilterIterator\Cake\Collection\Iterator\FilterIterator
Реализация
Cake\Collection\CollectionInterface::reject() samplesource public
sample( mixed $size 10 )
Реализация
Cake\Collection\CollectionInterface::sample() sortBysource public
sortBy( mixed $callback , mixed $dir SORT_DESC , mixed $type SORT_NUMERIC )
Реализация
Cake\Collection\CollectionInterface::sortBy() stopWhensource public
stopWhen( mixed $condition )
Возвращает
Cake\Collection\Iterator\StoppableIterator\Cake\Collection\Iterator\StoppableIterator
Реализация
Cake\Collection\CollectionInterface::stopWhen() sumOfsource public
sumOf( mixed $matcher null )
Реализация
Cake\Collection\CollectionInterface::sumOf() takesource public
take( mixed $size 1 , mixed $from 0 )
Реализация
Cake\Collection\CollectionInterface::take() throughsource public
through( callable $handler )
Реализация
Cake\Collection\CollectionInterface::through() toArraysource public
toArray( mixed $preserveKeys true )
Реализация
Cake\Collection\CollectionInterface::toArray() unfoldsource public
unfold( callable $transformer null )
Реализация
Cake\Collection\CollectionInterface::unfold() zipWithsource public
zipWith( mixed $items , mixed $callable )
Реализация
Cake\Collection\CollectionInterface::zipWith() Методы, используемые из Cake\Collection\ExtractTrait
_createMatcherFiltersource protected
_createMatcherFilter( array $conditions )
Возвращает вызываемый объект, который получает значение и возвращает, соответствует ли оно определенному условию.
Параметры
- массив
$conditions - Список пар ключ-значение условий для сопоставления, где ключ — путь к свойству для получения из текущего элемента, а значение — значение для сравнения с элементом.
Возвращает
callableвызываемый объект
_extractsource protected
_extract( array|ArrayAccess $data , array $path )
Возвращает столбец из $data, который может быть извлечен путем итерации по именам столбцов, содержащихся в $path. Он вернет массивы для элементов, представленных с помощью {*}
Параметры
- массив или ArrayAccess
$data - Данные.
- массив
$path - Путь для извлечения.
Возвращает
mixedсмешанный тип
_propertyExtractorsource protected
_propertyExtractor( string|callable $callback )
Возвращает вызываемый объект, который может быть использован для извлечения свойства или столбца из массива или объекта на основе пути, разделенного точкой.
Параметры
- строка|вызываемый объект
$callback - Путь, разделённый точкой, к столбцу, который нужно извлечь, или вызываемый объект, который позаботится об этом.
Возвращает
callableвызываемый объект
_simpleExtractsource protected
_simpleExtract( array|ArrayAccess $data , array $path )
Возвращает столбец из $data, который можно извлечь, перебирая имена столбцов, содержащиеся в $path.
Параметры
- массив|ArrayAccess
$data - Данные.
- массив
$path - Путь для извлечения.
Возвращает
mixedсмешанный тип
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Collection.Iterator.SortIterator.html