Метод last
Метод last применяется к коллекции и возвращает последний элемент. Если коллекция пуста, метод возвращает null. Метод также может принимать замыкание в качестве фильтра, чтобы получить последний элемент, удовлетворяющий условию. Если замыкание передано, метод вернёт последний элемент, для которого замыкание возвращает true.
Синтаксис
<?php
collect($array)->last();
collect($array)->last($callback, $default);
?>
Пример
Давайте получим последний элемент из коллекции чисел:
<?php
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$res = $collection->last();
echo $res;
?>
Результат выполнения кода:
"5"
Пример
Давайте получим последний элемент из коллекции строк:
<?php
use Illuminate\Support\Collection;
$collection = collect(['a', 'b', 'c', 'd', 'e']);
$res = $collection->last();
echo $res;
?>
Результат выполнения кода:
"e"
Пример
Давайте получим последний элемент, который больше 3:
<?php
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$res = $collection->last(function ($value) {
return $value > 3;
});
echo $res;
?>
Результат выполнения кода:
"5"
Пример
Давайте получим последний элемент, который меньше 3:
<?php
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$res = $collection->last(function ($value) {
return $value < 3;
});
echo $res;
?>
Результат выполнения кода:
"2"
Пример
Давайте передадим значение по умолчанию, если элемент не найден:
<?php
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$res = $collection->last(function ($value) {
return $value > 10;
}, 'default value');
echo $res;
?>
Результат выполнения кода:
"default value"
Пример
Давайте получим последний элемент из коллекции объектов:
<?php
use Illuminate\Support\Collection;
$collection = collect([
['name' => 'John', 'age' => 25],
['name' => 'Jane', 'age' => 30],
['name' => 'Bob', 'age' => 28]
]);
$res = $collection->last();
print_r($res);
?>
Результат выполнения кода:
"Array
(
[name] => Bob
[age] => 28
)"
Пример
Давайте получим последний элемент коллекции с фильтром по возрасту:
<?php
use Illuminate\Support\Collection;
$collection = collect([
['name' => 'John', 'age' => 25],
['name' => 'Jane', 'age' => 30],
['name' => 'Bob', 'age' => 28]
]);
$res = $collection->last(function ($item) {
return $item['age'] > 27;
});
print_r($res);
?>
Результат выполнения кода:
"Array
(
[name] => Bob
[age] => 28
)"
Пример
Давайте обработаем случай пустой коллекции:
<?php
use Illuminate\Support\Collection;
$collection = collect([]);
$res = $collection->last();
var_dump($res);
?>
Результат выполнения кода:
"NULL"