• 07-02-2014, 00:38:06
    #1
    Arkadaşlar bir şey sormak istiyorum,

    php ile herhangi bir sayının belirlenen iki sayı arasında olup olmadığını kontrol eden bir fonksiyon var mı acaba?

    Örnek vermek gerekirsem benim sayım = 5

    ben eğer 5, 1 ile 10 arasında ise şunu yap diye bilir miyim?
  • 07-02-2014, 00:43:04
    #2
    Örnek vermek gerekirsem benim sayım = 5

    ben eğer 5, 1 ile 10 arasında ise şunu yap diye bilir miyim?

    <?php
    $benimSayim=5;
    $limitBasla=1;
    $limitBit=10;
    
    if($benimSayim>$limitBasla && $benimSayim<$limitBit){
    echo $benimSayim.' Sayısı , '.$limitBasla.' ve '.$limitBit.' Arasında Bir sayıdır';
    }else{
    echo $benimSayim.' Sayısı, '.$limitBasla.' ve '.$limitBit.' Arasında Bir Sayı Değildir';
    
    }?>
  • 07-02-2014, 00:43:56
    #3
    function kontrol($altLimit, $ustLimit, $sayi) {
     if($sayi <$ustLimit && $sayi>$altLimit)
      return true;
    
     return false;
    
    }
    if(kontrol(0,10,5))
      echo "sayi istenilen araliktadir";
    
    if(!kontrol(0,10,5) )
      echo "sayi belirtilen aralikta degildir."
    İstediğiniz kontrolü bu fonksiyon ile yapabilirisniz.

    yukarida if ler ile iki cesidini de göstermeye calistim. duruma göre kullanabilirisniz.
  • 07-02-2014, 00:44:57
    #4
    Rigobert adlı üyeden alıntı: mesajı görüntüle
    Örnek vermek gerekirsem benim sayım = 5

    ben eğer 5, 1 ile 10 arasında ise şunu yap diye bilir miyim?

    <?php
    $benimSayim=5;
    $limitBasla=1;
    $limitBit=10;
    
    if($benimSayim>$limitBasla && $benimSayim<$limitBit){
    echo $benimSayim.' Sayısı , '.$limitBasla.' ve '.$limitBit.' Arasında Bir sayıdır';
    }else{
    echo $benimSayim.' Sayısı, '.$limitBasla.' ve '.$limitBit.' Arasında Bir Sayı Değildir';
    
    }?>

    Basit düşünce süpersin hocam . Sanırım php'nin kendisinde bir fonksiyon yok değil mi bu şekilde?
  • 07-02-2014, 00:46:22
    #5
    çok daha basit bir yöntemle yapılabilir muhtemelen ama aklıma bu geldi.

    $asil_sayi = 5;
    $ilk_sayi = 1;
    $ikinci = 10;
    
    if(($ilk_sayi < $asil_sayi && $ikinci > $asil_sayi) || ($ikinci < $asil_sayi && $ilk_sayi > $asil_sayi)) {
       echo $ilk_sayi . " " . $ilk_sayi . " ve " . $ikinci . " arasındaymış!";
    } else {
       echo "değilmiş :(";
    }
    düzeltme: üstte verilen fonksiyonlar da doğru ancak alt ve üst limit olarak belirtmek gerekiyor. limit olarak alınacak sayılardan hangisi küçük hangisi büyük bilinmiyorsa benim kod daha yardımcı olacaktır, aksi halde arkadaşların kodu iş görür.
  • 07-02-2014, 02:28:06
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @Retreat; Böyle daha kısa ve basit oldu sanırım (:

    <?php
    	
    	function aralik_kontrolu($sayi, $birinci_sayi, $ikinci_sayi)
    	{
    		$aralik = range($birinci_sayi, $ikinci_sayi);
    		
    		return in_array($sayi, $aralik);
    	}
    	
    	$sayi = 5;
    	$birinci_sayi = 1;
    	$ikinci_sayi = 10;
    	
    	if(aralik_kontrolu($sayi, $birinci_sayi, $ikinci_sayi))
    	{
    		echo "{$sayi} sayısı {$birinci_sayi} ile {$ikinci_sayi} aralığı içerisinde bulunuyor.";
    	}
    	else
    	{
    		echo "{$sayi} sayısı {$birinci_sayi} ile {$ikinci_sayi} aralığı içerisinde bulunmuyor.";
    	}
  • 07-02-2014, 08:46:44
    #7
    Herkese çok teşekkür ediyorum, son bir sorunum kaldı ve kafamda iyice bulandı.

    Veritabanında bir alanım var oranın içeriği 3-10, eğer benim sayım o alan içerisindeki sayıların arasında ise yani örnek veriyorum 9 ise o satır bilgilerini bana çekmesini istiyorum.

    Veritabanındaki alana böyle bir özellik verebilir miyim?
  • 07-02-2014, 09:59:41
    #8
    Retreat adlı üyeden alıntı: mesajı görüntüle
    Herkese çok teşekkür ediyorum, son bir sorunum kaldı ve kafamda iyice bulandı.

    Veritabanında bir alanım var oranın içeriği 3-10, eğer benim sayım o alan içerisindeki sayıların arasında ise yani örnek veriyorum 9 ise o satır bilgilerini bana çekmesini istiyorum.

    Veritabanındaki alana böyle bir özellik verebilir miyim?
    $deger = "3-10";
    $parcala	= explode("-",$deger);
    $birincisayi = $parcala[0];
    $ikincisayi = $parcala[1];
  • 07-02-2014, 11:32:11
    #9
    Üyeliği durduruldu
    uzun değer aralıkları icin tavsiye edilmez kısa yoldan.

    <?php
    $basla = 1;
    $bit = 100;
    $aralik = range($basla, $bit);
    if (in_array(50, $aralik)) {
    // aralıkta
    }