array_rand

funkcja

Zwraca losowy klucz lub tablicę losowych kluczy z podanej tablicy. Gdy num = 1, zwraca pojedynczy klucz (int lub string).

array_rand(array $array, int $num = 1): int|string|array

array_rand wybiera losowo $num kluczy z tablicy i zwraca je jako pojedynczą wartość (gdy $num = 1) lub jako numerycznie indeksowaną tablicę kluczy (gdy $num > 1). Funkcja zwraca klucze, nie wartości — aby uzyskać wartość, sięgnij do niej przez zwrócony klucz. Tablica wejściowa nie jest modyfikowana. Jeśli $num jest równy liczbie elementów tablicy, zwraca permutację wszystkich kluczy.

Przydaje się do losowania nagród, pytań z puli albo próbkowania danych.

<?php
declare(strict_types=1);

$nagrody = ['rower', 'laptop', 'słuchawki', 'voucher'];

// Losowanie jednej nagrody:
$klucz = array_rand($nagrody);
echo $nagrody[$klucz]; // np. "laptop" — wynik losowy

// Losowanie dwóch nagród:
$klucze = array_rand($nagrody, 2);
// $klucze to tablica dwóch losowych kluczy, np. [0, 2]
echo $nagrody[$klucze[0]]; // np. "rower"
echo $nagrody[$klucze[1]]; // np. "słuchawki"
📘 Naucz się w lekcji →