Php – Rand Fonksiyonunda Olasılık ile Oynama
Merhaba arkadaşlar. Bugün sizlere basit bir mantık ile rand() fonksiyonunda nasıl olasılık ile oynanılabilir onu göstereceğim. Rand yani Random yani Rastgele sayı fonksiyonunun işleyişi oldukça basittir. Siz iki adet sayı verirsiniz, Php otomatik olarak rastgele bir seçim yapar. Fakat yüzde 60 olasılık ile şunu, yüzde 40 olasılık ile şunu yap diyemeyiz.
İşte bu derste ufak bir mantık ile yüzdeler kullanıcaz. Yine Php ye rastgele bir sayı seçtireceğiz ve 70% de echo “70%”, 30% de echo “30%” yazdıracağız. İsterseniz başka atamalar yaparak, değişik fonksiyonları da çağırabilirsiniz. Bunlar tamamen size kalmış durumda..
Öncelikle kodlarımız;
<?php
$sayi = rand(0,10);
if($sayi <= 7) {
echo "70%";
}else{
echo "30%";
}
?>
Açıklama
Arkadaşlar öncelikle 0 ile 10 arasında bir seçim yaptırıyoruz. Burada 100 deler arasından seçim yapmak esas mesela. Fakat 10 ile 100 arasında sadece tek bir 10 değeri olduğu için sistemi yormak yerine sadece 0 ile 10 arasında seçtiriyoruz.
Sonra rastgele sayı 7 ye eşit veya ondan küçükse ekrana 70% yazdırıyoruz. Burada pasta mantığını kullanabiliriz. Pastanın 7 parçası = 70% ye. Dışarıda kalan kısım ise 3 parça yani 30%’ dur. Eğer ki fonksiyon çağırıyorsanız bu şekli kullanabilirsiniz. Fonksiyon değilde bir sayı seçtiriyorsanız echo yerine yine rand yaptırabilirsiniz. Bu sayede iç-içe geçen sadeleşmiş sayılar elde ederiz.
Herkese iyi günler, iyi çalışmalar.

11 Aralık 2009 - 04:02
ne öğretiyor? hiçbirşey…
kimisi yabancı sitelerden gördüğünü türkçeleştirip
kendi fikriymiş gibi yazar… bkz: Yagiz Gürgül
Kimisi de böyle boş şeyler…
echo “aptal liseli bebeler”;
11 Aralık 2009 - 12:21
@someturkishguy
Demek ki o sizin engin bilgilerinizin seviyesine çıkamadık. Bu yüzden çok özür diliyorum.
Ama yazının çalıntı olduğunu idda etmişsiniz. Lütfen bana bu yazının asıl kaynağı gösterin. Aksi taktirde hakaretler ile saldıran kıskanç bir “lise üstü” olarak göreceğim sizi.
Söyledikleriniz umrumda değil. Sanıyorum Yağız hocam da aynı düşünceyi paylaşacaktır. Eğer ki size hitap etmiyorsak niye inceleme de buluyorsunuz?
echo “herkes konuşuyor”;
13 Aralık 2009 - 13:25
Henüz okuduğunu anlayamayacak durumda iken, insanlar için yazmak oldukça zararlıdır… Mesajımda senin yazdığın örneğin çalıntı olduğuna dair bir ifade mevcut mu? dikkatlice okumanı rica ediyorum… hatta mesajımın içerisinde çalıntı kelimesi bile yok. Yağız için yabancı sitelerden gördüklerini kendi fikriymiş gibi türkçeleştiriyor demişim. senin örneğin için de boş kelimesini kullanmışım. çünkü random adına hiçbir şey öğretmiyor.. ne bileyim, random komutunun aslında gerçekten random bir sayı üretmediği, döndürdüğü sonuçların genelde ağırlıklı olarak belirli bir aralıkta yoğunlaştığını, sonuçların sayı aralığına eşit dağılmadığını ve bunu önlemek için nasıl bir algoritma izlenebilir vs vs yazabilirdin. yani random sayı üretimi üzerine hiçbirşey öğretmemişsin bence orada…
istersen bu mesajı yayınlamayabilirsin.
13 Aralık 2009 - 16:02
@someturkishguy;
Anladım, böyle yorumlar görmek oldukça güzel. Ortak platformdayız, herkesin yorumlarını da yayınlıyorum.
İyi günler.
16 Aralık 2009 - 13:35
someturkishguy,
ikinci mesajın gayet doğru, fakat birinci mesajın hem çok seviyesiz hem de saldırgan! bunu ikinci mesajında olduğu gibi uygun bir dille söyleye bilirsin.
hatta kendin yorumda aşağılamak yerine örnek verip, ardından olması gerekeni yazabilirsin. herkes her zaman aynı şekilde düşünemez, kimin neye ihtiyacı var bilemez. görüldüğü gibi bir değişken ile yüzlerce farklı şey yapılabiliyor.
saygılı olalım, lütfen…
17 Ocak 2010 - 01:45
bu makale aslında pek doğru sayılmaz. çünkü üretilen sayıların hepsinin 7 ile 10 arasında gelme ihtimalleride var!