Метод reverse
Метод reverse применяется к коллекции Eloquent
или Query Builder и возвращает новую коллекцию с элементами
в обратном порядке. Метод не изменяет исходную коллекцию,
а возвращает новую перевёрнутую коллекцию.
Первым параметром может быть передано значение preserveKeys,
которое указывает, нужно ли сохранять ключи.
По умолчанию ключи не сохраняются.
Синтаксис
<?php
$collection->reverse($preserveKeys = false);
?>
Пример
Давайте перевернём коллекцию с числами:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([1, 2, 3, 4, 5]);
$reversed = $collection->reverse();
echo $reversed;
?>
Результат выполнения кода:
[5, 4, 3, 2, 1]
Пример
Давайте перевернём коллекцию со строками:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['a', 'b', 'c', 'd', 'e']);
$reversed = $collection->reverse();
echo $reversed;
?>
Результат выполнения кода:
["e", "d", "c", "b", "a"]
Пример
Перевернём коллекцию с сохранением ключей:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([
'first' => 1,
'second' => 2,
'third' => 3
]);
$reversed = $collection->reverse(true);
print_r($reversed->toArray());
?>
Результат выполнения кода:
[
"third" => 3,
"second" => 2,
"first" => 1
]
Пример
Используем reverse после фильтрации коллекции:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$filtered = $collection->filter(function($item) {
return $item % 2 === 0;
})->reverse();
echo $filtered;
?>
Результат выполнения кода:
[10, 8, 6, 4, 2]
Пример
Используем reverse с моделями Eloquent:
<?php
use App\Models\Article;
use Illuminate\Support\Collection;
$articles = Article::where('status', 'published')
->limit(5)
->get()
->reverse();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"article 5"
"article 4"
"article 3"
"article 2"
"article 1"
Смотрите также
-
метод
sortBy,
который сортирует коллекцию по возрастанию -
метод
sortByDesc,
который сортирует коллекцию по убыванию -
метод
values,
который возвращает значения коллекции с числовыми ключами -
метод
slice,
который извлекает срез коллекции