Метод first
Метод first класса Arr используется для получения первого элемента массива. Если передано замыкание, метод возвращает первый элемент, для которого замыкание возвращает true. Если замыкание не передано, возвращается первый элемент массива. В случае, если подходящий элемент не найден или массив пуст, метод возвращает значение по умолчанию, переданное вторым параметром.
Синтаксис
<?php
use Illuminate\Support\Arr;
Arr::first($array, $callback, $default);
?>
Пример
Давайте получим первый элемент массива без использования замыкания:
<?php
use Illuminate\Support\Arr;
$array = [1, 2, 3, 4, 5];
$res = Arr::first($array);
echo $res;
?>
Результат выполнения кода:
"1"
Пример
Получим первый элемент массива, который больше трёх:
<?php
use Illuminate\Support\Arr;
$array = [1, 2, 3, 4, 5];
$res = Arr::first($array, function ($value) {
return $value > 3;
});
echo $res;
?>
Результат выполнения кода:
"4"
Пример
Используем значение по умолчанию, если подходящий элемент не найден:
<?php
use Illuminate\Support\Arr;
$array = [1, 2, 3, 4, 5];
$res = Arr::first($array, function ($value) {
return $value > 10;
}, 'default value');
echo $res;
?>
Результат выполнения кода:
"default value"
Пример
Работа метода с ассоциативным массивом:
<?php
use Illuminate\Support\Arr;
$array = [
'first' => 1,
'second' => 2,
'third' => 3
];
$res = Arr::first($array);
echo $res;
?>
Результат выполнения кода:
"1"
Пример
Поиск первого элемента, удовлетворяющего сложному условию с доступом к ключу:
<?php
use Illuminate\Support\Arr;
$array = ['a' => 10, 'b' => 20, 'c' => 30];
$res = Arr::first($array, function ($value, $key) {
return $key === 'b';
});
echo $res;
?>
Результат выполнения кода:
"20"