Php – Rand Fonksiyonunda Olasılık ile Oynama

Tarih: Ekim 15th, 2009 | Yazar: | Kategori: Php | Etiketler: , , , , , | 9 Yorum »

Bugün basit bir mantık ile rand() fonksiyonunda nasıl olasılık ile oynanılabilir ona bakıcaz. 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

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.




Benzer Yazılar;

coded by nessus

“Php – Rand Fonksiyonunda Olasılık ile Oynama” yazısında 9 Ahkam var.

  1. 1 someturkishguy 04:02 on Aralık 11th, 2009 anında kesmiş:

    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”;

  2. 2 Ertuğrul Erkan 12:21 on Aralık 11th, 2009 anında kesmiş:

    @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”;

  3. 3 someturkishguy 13:25 on Aralık 13th, 2009 anında kesmiş:

    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.

  4. 4 Ertuğrul Erkan 16:02 on Aralık 13th, 2009 anında kesmiş:

    @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.

  5. 5 tutkun 13:35 on Aralık 16th, 2009 anında kesmiş:

    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… :)

  6. 6 hmm 01:45 on Ocak 17th, 2010 anında kesmiş:

    bu makale aslında pek doğru sayılmaz. çünkü üretilen sayıların hepsinin 7 ile 10 arasında gelme ihtimalleride var!

  7. 7 Günlük Fal 21:32 on Mart 25th, 2010 anında kesmiş:

    Herkes ingilizce bilmek zorunda değil başka bir siteden çeviri yapılmış olması bile birşeydir. Arkadaş bildiklerini paylaşıyor sonuçta teşekkürler.

  8. 8 JustThink 00:55 on Nisan 5th, 2011 anında kesmiş:

    Sabit TÜRK insanımız bazen sırf konuları hata bulmak için bakıyorlar sanırım.Bu konuda biraz daha katıldım bu duruma.Neden iyi yönlerini değilde hep kötü yönleriyle ele alıyoruz bence güzel olmuş devamına ;)

  9. 9 lüzumsuz 13:39 on Aralık 3rd, 2011 anında kesmiş:

    Açıkçası someturkishguy pek doğru söylemiş. Saldırgan ama doğru.


Ahkam Kesme Aparatı

  • *