Метод min
Метод min применяется к коллекции и возвращает минимальное значение среди элементов. В качестве первого параметра передаётся ключ, по которому производится поиск минимума, либо callback-функция, которая возвращает значение для сравнения. Если коллекция пуста, метод возвращает null.
Синтаксис
<?php
$collection->min($key);
?>
Пример
Давайте найдём минимальный возраст в коллекции пользователей:
<?php
use Illuminate\Support\Collection;
$users = new Collection([
['name' => 'user1', 'age' => 25],
['name' => 'user2', 'age' => 30],
['name' => 'user3', 'age' => 22],
['name' => 'user4', 'age' => 28]
]);
$res = $users->min('age');
echo $res;
?>
Результат выполнения кода:
"22"
Пример
Найдём минимальную длину строки в коллекции:
<?php
use Illuminate\Support\Collection;
$words = new Collection(['abcde', 'a', 'abcdefg', 'ab']);
$res = $words->min('length');
echo $res;
?>
Результат выполнения кода:
"1"
Пример
Используем callback-функцию для вычисления значения:
<?php
use Illuminate\Support\Collection;
$products = new Collection([
['name' => 'product1', 'price' => 100, 'discount' => 10],
['name' => 'product2', 'price' => 200, 'discount' => 50],
['name' => 'product3', 'price' => 150, 'discount' => 20]
]);
$res = $products->min(function ($product) {
return $product['price'] - $product['discount'];
});
echo $res;
?>
Результат выполнения кода:
"90"
Пример
Работа с коллекцией объектов модели Eloquent:
<?php
use App\Models\User;
use Illuminate\Support\Collection;
$users = User::where('active', true)->get();
$res = $users->min('age');
echo $res;
?>
Результат выполнения кода:
"18"
Пример
Найдём минимальное значение числового массива:
<?php
use Illuminate\Support\Collection;
$numbers = new Collection([5, 3, 8, 1, 9, 2]);
$res = $numbers->min();
echo $res;
?>
Результат выполнения кода:
"1"