• 24-04-2023, 16:08:30
    #1
    $num1 = $_POST['num1'];
    $num2 = $_POST['num2'];
    $num3 = $_POST['num3'];
    
    $numbers = array($num1, $num2, $num3);
    Merhaba, formdan gelen sayıların sadece sayıların ortasındakini nasıl yazdırabilirim.
    rsort var fakat istedigim gibi olmuyor
  • 24-04-2023, 16:13:30
    #2
    "formdan gelen sayıların sadece sayıların ortasındakini" derken ne demek istediniz ?
  • 24-04-2023, 16:14:37
    #3
    Len fonksiyonu ile uzunlugu ögren çıkan sonucu bölülebilir substr ile ana degerden istedigin bölümünü alman için şu karakter sayısından sonrasını al gibi fonksiyon oluşturarak yazdırabilirsin fikrim bu görmeden net istedigini anlamadıgım için
  • 24-04-2023, 16:19:18
    #4
    Remo adlı üyeden alıntı: mesajı görüntüle
    Len fonksiyonu ile uzunlugu ögren çıkan sonucu bölülebilir substr ile ana degerden istedigin bölümünü alman için şu karakter sayısından sonrasını al gibi fonksiyon oluşturarak yazdırabilirsin fikrim bu görmeden net istedigini anlamadıgım için
    Tam halini anlatıyım ozaman 3 farklı inputtan 3 sayı girilecek bunlarda diziye eklenecek num1 num2 num3 gibi bunların en büyüğünü 2.en büyüğü ve en kücüğü olarak yazdırılacak max min kullanarak denedim oldu lakin 2. en büyük sayıyı bulamadım diğer türlüde dizide rsort kullandım ve forla yazdırdım ozaman düzgün calısıyor lakin en büyük 2. enbüyük en kücük sekilde yazdıramadım sayının yanına kodda bu şekilde

    Max min kullanarak yaptığım
    $num1 = $_POST['num1'];
    $num2 = $_POST['num2'];
    $num3 = $_POST['num3'];
    
    $numbers = array($num1, $num2, $num3);
    
    echo(max($numbers) . " en büyük sayıdır". "<br>");
    echo($numbers . " 2. en büyük sayıdır". "<br>"); // bu kısmı yapamadım
    echo(min($numbers) . " en küçük sayıdır");

    rshort olarak kullandığım
    $num1 = $_POST['num1'];
    $num2 = $_POST['num2'];
    $num3 = $_POST['num3'];
    
    $numbers = array($num1, $num2, $num3);
    
    rsort($numbers);
    
    foreach($numbers as $number) {
      echo $number . "<br>";
    }
  • 24-04-2023, 16:25:02
    #5
    Dener misin?
    $num1 = $_POST['num1']; 
    $num2 = $_POST['num2'];
     $num3 = $_POST['num3'];
    $numbers = array($num1, $num2, $num3);
    echo(max($numbers) . " en büyük sayıdır". "<br>");
    sort($numbers);
    $mid = $numbers[1]; // ortanca sayı 
    echo($mid . " 2. en büyük sayıdır". "<br>");
    echo(min($numbers) . " en küçük sayıdır");
    burada dizi sıralanıyor ve ortadaki sayıyı yani en büyük 2. sayıyı yazdırıyor. $birincisayi = $numbers[0]; şeklinde de yazdırabilirsin.
  • 24-04-2023, 16:30:37
    #6
    Caviz adlı üyeden alıntı: mesajı görüntüle
    Dener misin?
    $num1 = $_POST['num1']; 
    $num2 = $_POST['num2'];
     $num3 = $_POST['num3'];
    $numbers = array($num1, $num2, $num3);
    echo(max($numbers) . " en büyük sayıdır". "<br>");
    sort($numbers);
    $mid = $numbers[1]; // ortanca sayı 
    echo($mid . " 2. en büyük sayıdır". "<br>");
    echo(min($numbers) . " en küçük sayıdır");
    burada dizi sıralanıyor ve ortadaki sayıyı yani en büyük 2. sayıyı yazdırıyor. $birincisayi = $numbers[0]; şeklinde de yazdırabilirsin.
    tamda istediğim gibi oldu çok teşekkür ederim.
  • 24-04-2023, 16:31:22
    #7
    emreylcz adlı üyeden alıntı: mesajı görüntüle
    tamda istediğim gibi oldu çok teşekkür ederim.
    Rica ederim iyi çalışmalar.
  • 24-04-2023, 16:37:08
    #8
    rsort kullanıldığında min, max kullanımına gerek yoktur, dizi zaten büyükten küçüğe sıralanmıştır. Bu durumda first yani ilk eleman en büyük olmuş olur, sonuncu elemanda en küçük.

    <?php
    
    $dizi = array(45,65,44);
    rsort($dizi);
    
    $en_buyuk = current($dizi);
    $sonraki_en_buyuk = next($dizi);
    $en_kucuk = end($dizi);
    
    echo "$en_buyuk - $sonraki_en_buyuk  - $en_kucuk";
    ?>
  • 01-05-2023, 05:33:51
    #9
    $num = $_POST['num']; // formdan gelen sayı
    $numStr = (string) $num; // sayıyı stringe dönüşüyor
    $mid = strlen($numStr) / 2; // ortadaki rakamın indeksini hesaplanıyor
    echo $numStr[$mid]; // ortadaki rakamı yazdırıyor
    1