PHP RASTGELE(RANDOM) SAYI ÜRETME

Rand() fonksiyonu PHP'de rastgele bir tam sayı oluşturmak için kullanılır . Rand() fonksiyonu, minumum ve maksimum belitilen 20 ile 50 arasında bir sayıyı belirli bir aralıkta rastgele bir sayı oluşturmak için de kullanılabilir.

PHP'de Rand() fonksiyonu kullanılırken maksimum sınır belirtilmezse, döndürülebilen en büyük tam sayı işletim sistemine göre değişen getrandmax() fonksiyonu tarafından belirlenir.

Bazı platformlarda (Windows gibi) üretilebilecek en büyük sayı 32767'dir. Ubuntu linux'de 2147483647 Ancak, daha yüksek sayıları içerecek şekilde belirli bir aralık ayarlayabilirsiniz.

Rastgele sayıları kullanma zorunluluğu çoğu zaman pratikte değişkenlerin, dosyaların isimlendirilmesi, anahtar bilgilerin oluşturulması ve güvenliğin sağlanması için ortaya çıkar.

Sözdizimi:

Rand (min, max);

min : İsteğe bağlı. Girilecek en düşük sayıyı belirtir. Varsayılan 0

max : İsteğe bağlı. Girilecek en yüksek sayıyı belirtir. Varsayılan getrandmax()

Bağımsız değişken :

İsteğe bağlı bağımsız değişken belirtilmezse, rand() fonksiyonu, rastgele sayının maksimum değerini alan getrandmax() arasında sahte rastgele bir sayı alır .


echo rand();	

ÇIKTI:

1847913438

Ayrıca 100 ile 200 arasında veya 25 ile 70 arasında rastgele bir sayı üretmek için bir aralık da belirleyebilirsiniz. Bu, rand fonksiyonundaki isteğe bağlı parametreleri yani min ve max değerleri girebilirsiniz. Argüman olarak minimum değer ve maksimum değer ile belirtilen aralıkta rastgele bir sayı üretmeyi görelim.


echo rand(100,200)."<br>"; // 194

echo rand(25,70)."<br>"; // 45

echo rand(100,200)."<br>"; // 150

Rand fonksiyonu her çağırdığınızda farklı rasgele sayıların üretildiğini görebilirsiniz!

Şu şekilde de kullanabilirsiniz.


$min = 5;
$max = 20;

echo '1.Rasgele sayı:'.rand($min, $max).'<br>'; // 20

echo '2.Rasgele sayı:'.rand($min, $max).'<br>'; // 11

echo '3.Rasgele:'.rand($min, $max); // 10


Rasgele sayıların belirtilen minimum değer 5 ile maksimum değer 20 arasında üretildiğini görebilirsiniz!

Bu fonksiyon kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla kullanılmamalıdır. Kriptografik olarak güvenilir bir değere ihtiyaç duyuyorsanız bunun yerine random_int(), random_bytes() fonksiyonlarını deneyebilirsiniz.

Mt_rand fonksiyonu nasıl kullanılır?

mt_rand() fonksiyonu, Mersenne Twister algoritmasını kullanarak rastgele bir tam sayı üretir.

PHP 7.1'den başlayarak, rand() PHP fonksiyonu, mt_rand() adının bir diğer adıdır. mt_rand() fonksiyonun dört kat daha hızlı olduğu ve daha iyi bir rastgele değer ürettiği söylenir. Ancak, ürettiği sayılar kriptografik olarak güvenli değildir. PHP kılavuzu, kriptografik olarak güvenli tam sayılar için random_bytes() ve random_int() fonksiyonları kullanılmasını önerir.

ÖRNEK:


echo mt_rand().'<br>'; // 497098875
echo mt_rand().'<br>'; // 1751056994
echo mt_rand().'<br>'; // 1265228357
	

Bu şekilde, mt_rand fonksiyonu her çağrıldığında farklı rastgele sayılar elde edilebilir.

Aşağıda, minimum ve maksimum değerler mt_rand fonksiyonunun argümanları olarak belirtilmiştir.

ÖRNEK:


$min = 2;
$max = 10;
 
echo mt_rand($min, $max).'<br>'; // 6
echo mt_rand($min, $max).'<br>'; // 10
echo mt_rand($min, $max).'<br>'; // 9

mt_rand() fonksiyonu, belirtilen minimum ve maksimum değerler arasında bir rastgele sayı üretir.

Mt_rand() fonksiyonun daha kullanışlı bir örneği

Aşağıdaki örnekte, mt_rand() fonksiyonu, sayı oluşturmak için farklı aralıklarla birkaç kez kullanılır.

Bu şekilde, belirli kurallara göre birikimli bir sayı oluşturulabilir. Örneğin, sabit bir sayı olmalı, rastgele kodun ikinci kısmı 20-40 arasında olmalıdır. üçüncü kısmı 100 ile 1000 arasında olmalıdır. dört'üncü kısmı 1000 ile 10000 arasında olmalıdır.

ÖRNEK:


$rasgele = 350 .mt_rand(20,40) .mt_rand(100,1000) .mt_rand(1000,10000) ;
 
echo "Birden fazla random sayı: " .$rasgele; // 350316369926	
	

Rasgele bir karakter dizesi oluştur

Mt_rand fonksiyonu kullanarak rastgele bir karakter dizisi oluştururken , ASCII kodu tarafından belirtilen argümanlardan karakterleri döndüren bir chr fonksiyonu kullanılarak bir karakter dizesi oluşturulur .

ASCII koduyla karakter dönüşümü için, 65, A, 90, Z'dir. Rasgele bir karakter dizisi oluştururken, bunu, minimum değer 65 ve maksimum değer 90 ile rand fonksiyonuyla belirtmek gerekir.


$RandStr = chr(mt_rand(65,90)) . chr(mt_rand(65,90)) . chr(mt_rand(65,90)) .
            chr(mt_rand(65,90)) . chr(mt_rand(65,90)) . chr(mt_rand(65,90));
 
echo $RandStr; // YMCAJV	

Gördüğünüz gibi, rastgele 6 karakterli bir dizge oluşturduk.

Rastgele dizeler aynı zamanda şifreleri ayarlamak için de kullanışlıdır.

Rastgele alfanümerik karakterler oluşturun

Burada sayıları ve dizileri çeşitli şekillerde birleştiren rastgele alfanümerik karakterlerin nasıl üretildiğini gösteriyoruz.

Şifreleri otomatik olarak oluştururken, vb. Rasgele alfasayısal karakterler kullanılır.

Str_shuffle Fonksiyonu

Str_shuffle() fonksiyonu rastgele bir dizenin tüm karakterlerini karıştırır.

Aşağıdaki örnekte, sayısal değerler ve az, AZ alfabetik karakterler içeren bir karakter dizgisi, str_shuffle fonksiyonun bir argümanı olarak belirtilmiştir.

ÖRNEK:


$str = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPUQRSTUVWXYZ';
$str_r = substr(str_shuffle($str), 0, 10);
 
echo $str_r; // f4aOA2zU7H
	

Bu program çalıştırıldığında, çalıştırma sonucu gibi rastgele bir alfasayısal karakter dizgisi oluşturulur.

Buna ek olarak, Ayrıca substr fonksiyonu kullanarak dize aralığı belirtebilirsiniz.

Uniqid fonksiyonu kullanın

Uniqid() fonksiyonu, mikrotime (şimdiki mikrosaniye cinsinden) dayanan benzersiz bir kimlik oluşturur.

Not: Bu fonksiyondan oluşturulan ID, sistem zamanına bağlı olduğundan optimum değildir. Kimlik tahminini yapmak oldukça zor bir yöntem oluşturmak için md5() fonksiyonu kullanın.

Boş bir önek belirtildiğinde 13 karakterlik bir dizge elde edilir. Eğer, argüman değiştirgesinde TRUE belirtilmişse üretilen dizge 23 karakter uzunluğunda olur.


$str_r = uniqid(mt_rand(), true);

echo $str_r; // 8228928885c7acc5eee2cb4.95487492
	

Md5 fonksiyonu kullanın

Md5 fonksiyonu, 32 karakterlik onaltılık bir karma sayı elde edilir.

İsteğe bağlı bu değiştirgede TRUE belirtirseniz MD5 özeti 16 bayt uzunlukta ham ikili biçimde bir dizge olarak döner. FALSE öntanımlıdır.

Aşağıdaki örnekte, yukarıda belirtilen tek parça fonksiyon ve rand fonksiyonun md5 fonksiyonun argümanı olarak belirtilmesiyle daha karmaşık bir karakter dizisi üretilir.


$str_r = md5(uniqid(mt_rand(), true));

echo $str_r; // 89bf9e894e41ae70612db7113aa50f42

mt_rand() fonksiyonu php 7.1 sürümünde çalışır sizin çalıştığınız php sürümler düşükse yukarda ki örneklerde mt_round fonksiyonun yerine rand() fonksiyonu kullanın.
Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlacaktır.

8382

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
  • MİTHRİL FRAMEWORK
POPÜLER MAKALE
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML RESME LİNK VERME
  • HTML DİV ve SPAN NEDİR?
  • HTML FORM OLUŞTURMA
  • HTML KAYAN RESİM VE Marguee KULLANIMI
  • HTML RESİM EKLEME
  • HTML ARKAPLANA MÜZİK EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • PHP ceil()-floor()-round() YUVARLAMA FONKSİYONU
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.