array_rand în PHP

Alege una sau mai multe chei la întâmplare dintr-un tablou.

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

Ce face array_rand

array_rand returnează o cheie aleatorie, nu valoarea. Pentru valoare folosești $tablou[array_rand($tablou)].

Cu $num mai mare decât 1 returnează un tablou de chei, în ordinea din tabloul original. Nu este potrivit pentru securitate (parole, token-uri).

Parametri

Parametru Descriere
$array Tabloul din care se alege. Nu poate fi gol.
$num Opțional. Câte chei să aleagă, fără repetare.

Ce returnează

O cheie sau un tablou de chei.

Exemple

Exemplul 1: Un sfat aleatoriu

Rezultatul diferă la fiecare rulare.

<?php
$sfaturi = ["Fă backup", "Actualizează pluginurile", "Folosește HTTPS"];

$cheie = array_rand($sfaturi);
echo "Cheia $cheie: " . $sfaturi[$cheie];

Rezultat posibil (diferă la fiecare rulare)

Cheia 2: Folosește HTTPS

Exemplul 2: Trei câștigători dintr-o listă

<?php
$participanti = ["Ana", "Mihai", "Ioana", "Radu", "Elena"];

$chei = array_rand($participanti, 3);
foreach ($chei as $c) {
    echo $participanti[$c] . "\n";
}

Rezultat posibil (diferă la fiecare rulare)

Ana
Ioana
Elena

Greșeli frecvente

  • Afișezi direct rezultatul și obții un număr în loc de valoare. array_rand returnează cheia.
  • Dai un tablou gol sau $num mai mare decât numărul de elemente. Primești ValueError.

Comenzi înrudite

  • shuffle: Amestecă elementele unui tablou într-o ordine aleatorie.
  • random_int: Generează un număr întreg aleatoriu, sigur, între două valori.
  • rand / mt_rand: Generează un număr întreg aleatoriu. Rapid, dar nesigur pentru parole sau token-uri.