Метод random
Метод Arr::random используется для получения одного или нескольких случайных элементов из массива. Он принимает массив в качестве первого аргумента и количество элементов, которые нужно вернуть, в качестве второго. Если количество не указано, возвращается один случайный элемент. Ключи элементов не сохраняются, когда возвращается несколько элементов.
Синтаксис
<?php
Arr::random($array, $number);
?>
Пример
Давайте получим случайный элемент из простого массива:
<?php
use Illuminate\Support\Arr;
$array = [1, 2, 3, 4, 5];
$res = Arr::random($array);
echo $res;
?>
Результат выполнения кода (может отличаться):
3
Пример
Давайте получим три случайных элемента из массива:
<?php
use Illuminate\Support\Arr;
$array = ['a', 'b', 'c', 'd', 'e'];
$res = Arr::random($array, 3);
print_r($res);
?>
Результат выполнения кода (может отличаться):
["c", "a", "e"]
Пример
Давайте получим случайный элемент из ассоциативного массива:
<?php
use Illuminate\Support\Arr;
$array = [
'first' => 'abc',
'second' => 'def',
'third' => 'ghi'
];
$res = Arr::random($array);
echo $res;
?>
Результат выполнения кода (может отличаться):
"ghi"
Пример
Давайте попробуем получить случайное количество элементов, превышающее размер массива:
<?php
use Illuminate\Support\Arr;
$array = [1, 2, 3];
$res = Arr::random($array, 5);
print_r($res);
?>
Результат выполнения кода:
"InvalidArgumentException: You requested 5 items, but there are only 3 items available."
Пример
Давайте используем метод random с пустым массивом:
<?php
use Illuminate\Support\Arr;
$array = [];
$res = Arr::random($array);
print_r($res);
?>
Результат выполнения кода:
"InvalidArgumentException: The array must contain at least one item."
Смотрите также
-
класс
Arr,
который предоставляет множество полезных методов для работы с массивами -
метод
get,
который получает значение из массива по ключу с поддержкой точек -
метод
wrap,
который оборачивает значение в массив, если оно не является массивом -
метод
only,
который возвращает только указанные ключи из массива