PHP eşit DEĞİLDİR iki sayı üretmek gerekiyor.
Ben $random1 = (rand()%9);
0-9 arasında rastgele bir sayı üretmek için kullanmak olduğunu biliyorum. Bu ben tahmin şey eklemek gerekir.
Teşekkürler!
Sana rand()%9
dahil 8 aracılığıyla size aralığında 0 bir sayı vermek göreceksiniz düşünüyorum. Eğer 0 ile 9 dahil istiyorsanız, kullanmanız gereken rand()%10
. Ben ne istediğini varsaymak gidiyorum ama 8 0 ile size really amaçlanan neydi eğer kolayca cevabı ayarlamak olabilir.
Eğer bu aralıkta iki numara istiyorsanız, en kolay yolu bu aralıkta bir o aralıkta bir az başka oluşturmak ve aynı ya da daha büyük ise, bunu artırmak üretmektir.
Bu bunu yapmak için matematiksel bir yoldur, ve o (rand()
ne olursa olsun için always iki çağrıları) deterministik bulunuyor. Olası olsa da, gerçek bir rasgele sayı üreteci (bu muhtemelen bir sorun olmayacak şekilde bir doğrusal jeneratör kullanarak olasıdır) ilmek çözümler akılsızca yapacak tüm özdeş bir sayı dizesi üretmek olabilir.
İlk denemede, sen (10 numara, 0 ile 9) seçmek için tam bir yelpazesi var. Saniye Eğer dizi eksi zaten seçilmiş numarası var. Yani, ilk sayı 7 idi eğer, 8 0'dan bir takım oluşturmak ve 7 9 8 ve 8 Harita:
$random1 = (rand() % 10);
$random2 = (rand() % 9);
if $random2 >= $random1 {
$random2 = $random2 + 1;
}
Sadece isterseniz unique numbers, sadece sıfırdan başlar ve her yeni sayısı için 1 ekleyin.
Eğer random unique numbers gerekiyorsa, sadece bir listede önceki numaraları kaydetmek ve yeni bir tane gerektiğinde bu listede not, hangi birini bulana kadar, sadece rastgele sayılar üretmek.
Eğer unique identifiers gerekirse, yerleşik fonksiyonunu uniqid
a> kullanabilirsiniz.