(PHP 4, PHP 5, PHP 7, PHP 8)
rand — Bir rastgele tamsayı üretir
Seçimlik asgari ve azami
bağımsız değişkenleri olmaksızın çağrıldığında rand(),
0 ile getrandmax() arasında bir sözde rastgele tamsayı
döndürür. Örneğin, 5 ile 15 (dahil) arasında rastgele bir sayı isteniyorsa
rand(5, 15) kullanılabilir.
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.
This function uses the global Mt19937 (“Mersenne Twister”) instance as the source of randomness and thus shares its state with all other functions using the global Mt19937. Using any of these functions advances the sequence for all the other functions, regardless of scope.
Generating repeatable sequences by seeding mt_srand() or srand() with a known value will also yield repeatable output from this function.
Prefer using Random\Randomizer methods in all newly written code.
Bilginize: PHP 7.1.0 öncesinde, getrandmax() bazı platformlarda (Windows gibi) yalnızca 32767 idi. 32767'den büyük bir aralık gerekiyorsa,
asgariveazamibağımsız değişkenleri belirtilerek bundan daha büyük bir aralık oluşturulabilir; ya da bunun yerine mt_rand() kullanılabilir.
Bilginize: PHP 7.1.0'dan itibaren, rand() mt_rand() ile aynı rastgele sayı üretecini kullanır. Geriye dönük uyumluluğu korumak amacıyla rand(), mt_rand() işlevinin aksine
azamideğerininasgarideğerinden küçük olmasına izin verir,falsedöndürmez.
asgariDöndürülecek en küçük değer (öntanımlı: 0)
azamiDöndürülecek en büyük değer (öntanımlı: getrandmax())
asgari (veya 0) ile azami
(veya getrandmax(), dahil) arasında bir sözde rastgele
değer.
| Sürüm: | Açıklama |
|---|---|
| 7.2.0 | rand() işlevi, modül sapma hatası için bir hata düzeltmesi aldı. Bu, belirli bir tohumla üretilen dizilerin, 64 bitlik makinelerde PHP 7.1'den farklı olabileceği anlamına gelir. |
| 7.1.0 | rand() işlevi mt_rand() işlevinin takma adı haline getirildi. |
Örnek 1 rand() örneği
<?php
echo rand(), "\n";
echo rand(), "\n";
echo rand(5, 15), "\n";Yukarıdaki örnek şuna benzer bir çıktı üretir:
7771 22264 11
asgari azami aralığı
getrandmax() aralığı içinde olmalıdır. Yani
abs(azami - asgari) <=
getrandmax(). Aksi takdirde,
rand() düşük kalitede rastgele sayılar
döndürebilir.