Класс 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
Краткое описание методов
- __construct() public
Оборачивает этот итератор вокруг переданных элементов, чтобы при итерации они возвращались в порядке.
Подробное описание методов
__construct()source public
__construct( array|Traversable $items , callable|string $callback , integer $dir SORT_DESC , integer $type SORT_NUMERIC )
Оборачивает этот итератор вокруг переданных элементов, чтобы при итерации они возвращались в порядке.
Функция обратного вызова примет в качестве первого аргумента каждый из элементов в $items, возвращаемое значение в функции обратного вызова будет использоваться в качестве значения для сортировки этого элемента. Обратите внимание, что функция обратного вызова может вызываться более одного раза на один элемент.
Параметры
- массив|Перебираемый объект
$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
__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
массивcount()source public
count( )
Выбрасывает исключение.
Выдача подсчёта для Collection может иметь множество побочных эффектов, некоторые из которых делают Collection непригодной для использования после операции подсчёта.
Исключения
LogicExceptionserialize()source public
serialize( )
Возвращает строковое представление этого объекта, которое можно использовать для его восстановления
Возвращает
строкаРеализация
Serializable::serialize() unserialize()source public
unserialize( string $collection )
Десериализует переданную строку и восстанавливает экземпляр Collection
Параметры
- строка
$collection - Сериализованная коллекция
Реализация
Serializable::unserialize() Методы, используемые из Cake\Collection\CollectionTrait
_unwrap()source public
_unwrap( )
Обратная совместимость обёртки для unwrap()
Устарело
Возвращает
Итераторappend()source public
append( $items )
chunk()source public
chunk( $chunkSize )
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 )
first()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 )
min()source public
min( $callback , $type SORT_NUMERIC )
nest()source public
nest( $idPath , $parentPath )
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 )
© 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.2/class-Cake.Collection.Iterator.SortIterator.html