Метод random
Метод random применяется к коллекции и возвращает
один или несколько случайных элементов. Если метод вызывается
без параметров, возвращается один случайный элемент.
При передаче числа в качестве аргумента возвращается
коллекция с указанным количеством случайных элементов.
Если передать параметр false вторым аргументом,
элементы не будут удаляться из коллекции.
Синтаксис
<?php
$collection->random($count = 1, $preserveKeys = false);
?>
Пример
Давайте получим один случайный элемент из коллекции чисел:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([1, 2, 3, 4, 5]);
$res = $collection->random();
echo $res;
?>
Результат выполнения кода:
"3"
Пример
Давайте получим несколько случайных элементов из коллекции:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['a', 'b', 'c', 'd', 'e']);
$res = $collection->random(3);
print_r($res->all());
?>
Результат выполнения кода:
["c", "a", "e"]
Пример
Давайте получим случайные элементы с сохранением ключей:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([
'first' => 'a',
'second' => 'b',
'third' => 'c',
'fourth' => 'd'
]);
$res = $collection->random(2, true);
print_r($res->all());
?>
Результат выполнения кода:
["second" => "b", "fourth" => "d"]
Пример
Давайте получим случайный элемент из коллекции и проверим его наличие:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['user', 'category', 'article']);
$random = $collection->random();
if ($collection->contains($random)) {
echo "Element exists in collection";
}
?>
Результат выполнения кода:
"Element exists in collection"