(PHP 4, PHP 5, PHP 7, PHP 8)
array_rand — Bir diziden belli sayıda rasgele anahtar döndürür
array_rand() işlevi bir diziden belli sayıda rasgele eleman seçer ve bunların anahtarlarını döndürür.
Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.
Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG’i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.
dizi
İşleme sokulacak dizi. Boş olamaz.
istek_sayısı
Kaç tane rasgele eleman döndürüleceği belirtilir. Sıfırdan büyük ve
dizi
uzunluğundan küçük veya ona eşit olmalıdır.
Sadece bir girdi alınmak istenirse array_rand() işlevi diziden rasgele bir anahtarla döner. Aksi takdirde, rasgele elemanların anahtarlarını içeren bir dizi döndürür. Böylece, diziden rasgele anahtarlar değerleriyle birlikte bir dizi olarak çekilmiş olur. Birden fazla anahtar döndürülüyorsa, bunlar dizideki yerlerine uygun sırada çekilir.
dizi
boşsa veya istek_sayısı
aralık dışındaysa bir ValueError oluşur.
Sürüm: | Açıklama |
---|---|
8.0.0 |
istek_sayısı aralık dışındaysa artık bir
ValueError oluşuyor. Evvelce bir
E_WARNING yayımlanır ve işlev null döndürürdü.
|
8.0.0 |
dizi boşsa artık bir
ValueError oluşuyor. Evvelce bir
E_WARNING yayımlanır ve işlev null döndürürdü.
|
7.1.10 | Dahili rasgelelik algoritması değiştirildi. Libc rand işlevi yerine artık » Mersenne Twister Rasgele Sayı Üreteci kullanılıyor. |
4.2.0 | Rasgele sayı üreteci otomatik tohumlanır. |
Örnek 1 - array_rand() örneği
<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>