• 15-02-2020, 13:59:49
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    merhaba arakadaşlar php function ile iki adet işlem yaptırmak istedim

    duzelt() fonksiyonu işlem yapacağı değişkende 1.1 var ise bunu 1.10 yapsın istedim değişken 1 yada 1.00 ise - yapsın dedim

    yazdığım fonksiyon birinci if okuyor ikinci if görmüyor

    function duzelt($a){
    
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }else{
    return $a;
    }
    if($a==1.00 or $a==1){
    return "-";
    }else{
    return $a;
    }
    
    }
    
    $rakam = 1.1;
    echo duzelt($rakam);
    //verdiği çıktı 1.10 başarılı
    
    $rakam = 1;
    echo duzelt($rakam);
    //verdiği çıktı 1.00 normalde fonksiyonda bunları - yap diyorum olmuyor
  • 15-02-2020, 14:01:16
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    1. if olmuyorsa return a demişsin o yüzden 2.ye geçmiyor.

    function duzelt($a){
     
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }
    else if($a==1.00 or $a==1){
    return "-";
    }else{
    return $a;
    }
     
    }
     
    $rakam = 1.1;
    echo duzelt($rakam);
    //verdiği çıktı 1.10 başarılı
     
    $rakam = 1;
    echo duzelt($rakam);
    //verdiği çıktı 1.00 normalde fonksiyonda bunları - yap diyorum olmuyor
  • 15-02-2020, 14:05:38
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba,
    Bu sekilde dener misin?
    function duzelt($a){
    
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }
    
    if($a==1.00 or $a==1){
    return "-";
    }
    
    return $a;
    }
    Konya adlı üyeden alıntı: mesajı görüntüle
    merhaba arakadaşlar php function ile iki adet işlem yaptırmak istedim

    duzelt() fonksiyonu işlem yapacağı değişkende 1.1 var ise bunu 1.10 yapsın istedim değişken 1 yada 1.00 ise - yapsın dedim

    yazdığım fonksiyon birinci if okuyor ikinci if görmüyor

    function duzelt($a){
    
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }else{
    return $a;
    }
    if($a==1.00 or $a==1){
    return "-";
    }else{
    return $a;
    }
    
    }
    
    $rakam = 1.1;
    echo duzelt($rakam);
    //verdiği çıktı 1.10 başarılı
    
    $rakam = 1;
    echo duzelt($rakam);
    //verdiği çıktı 1.00 normalde fonksiyonda bunları - yap diyorum olmuyor
  • 15-02-2020, 14:07:04
    #4
    adme adlı üyeden alıntı: mesajı görüntüle
    1. if olmuyorsa return a demişsin o yüzden 2.ye geçmiyor.

    function duzelt($a){
     
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }
    else if($a==1.00 or $a==1){
    return "-";
    }else{
    return $a;
    }
     
    }
     
    $rakam = 1.1;
    echo duzelt($rakam);
    //verdiği çıktı 1.10 başarılı
     
    $rakam = 1;
    echo duzelt($rakam);
    //verdiği çıktı 1.00 normalde fonksiyonda bunları - yap diyorum olmuyor
    hocam dediğiniz gibi yaptım aynı 2. ifi uygulamadı

    function duzelt($a){
    
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }
    else if($a==1.00 or $a==1){
    return "-";
    }else{
    return $a;
    }
    
    }
    
    $rakam = 1;
    echo duzelt($rakam);
    //çıktı - olması gerekirken 1.00 verdi yine




    frontback adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    Bu sekilde dener misin?
    function duzelt($a){
    
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }
    
    if($a==1.00 or $a==1){
    return "-";
    }
    
    return $a;
    }
    malesef buda olmadı hocam 2. ifi görmüyor
  • 15-02-2020, 14:17:02
    #5
    Kendi localimde denedigimde sorun yok, istersen tekrar kontrol et.
    Konya adlı üyeden alıntı: mesajı görüntüle
    hocam dediğiniz gibi yaptım aynı 2. ifi uygulamadı

    function duzelt($a){
    
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }
    else if($a==1.00 or $a==1){
    return "-";
    }else{
    return $a;
    }
    
    }
    
    $rakam = 1;
    echo duzelt($rakam);
    //çıktı - olması gerekirken 1.00 verdi yine






    malesef buda olmadı hocam 2. ifi görmüyor
  • 15-02-2020, 14:24:12
    #6
    frontback adlı üyeden alıntı: mesajı görüntüle
    Kendi localimde denedigimde sorun yok, istersen tekrar kontrol et.
    hocam localhost xampp kullanıyorum, bende deniyorum aşağıdaki kodun verdiği çıktı 1.00
    <?php
    
    function duzelt($a){
    
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }
    
    if($a==1.00 or $a==1){
    return "-";
    }
    
    return $a;
    }
    
    $rakam = 1;
    
    echo duzelt($rakam);
    
    
    
    ?>
  • 15-02-2020, 14:26:23
    #7
    Girdiğiniz tüm sayılar is_numeric sınamasında kalır çünkü hepsi sayıdır, diğer if ifadelerine geçmemesi normal.

    function duzelt($a)
    {
    if(!is_numeric($a)){
    return false; // geçerli bir sayı değilse false döndürür veya hata mesajı basabilirsiniz
    }
    
    $a = floatval($a);
    
    if($a == 1.1){
    return number_format($a, 2, '.', '.');
    }else if($a==1.00 or $a==1){
    return "-";
    }else{
    return $a;
    }
    }
  • 15-02-2020, 14:30:00
    #8
    Met adlı üyeden alıntı: mesajı görüntüle
    Girdiğiniz tüm sayılar is_numeric sınamasında kalır çünkü hepsi sayıdır, diğer if ifadelerine geçmemesi normal.

    function duzelt($a)
    {
    if(!is_numeric($a)){
    return false; // geçerli bir sayı değilse false döndürür veya hata mesajı basabilirsiniz
    }
    
    $a = floatval($a);
    
    if($a == 1.1){
    return number_format($a, 2, '.', '.');
    }else if($a==1.00 or $a==1){
    return "-";
    }else{
    return $a;
    }
    }
    olmaz hocam $a = 1.1 demişsiniz başka rakamlarda olabilir standart değil
  • 15-02-2020, 14:36:59
    #9
    cunku is_numeric fonksiyonu her zaman TRUE olarak geliyor. Boyle dener misin?

    <?php
    
    function duzelt($a){
    
    if($a==1.00 or $a==1){
    return "-";
    }
    
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }
    
    
    return $a;
    }
    
    $rakam = 1;
    
    echo duzelt($rakam);
    
    
    
    ?>
    Konya adlı üyeden alıntı: mesajı görüntüle
    hocam localhost xampp kullanıyorum, bende deniyorum aşağıdaki kodun verdiği çıktı 1.00
    <?php
    
    function duzelt($a){
    
    if(is_numeric($a)){
    return number_format($a, 2, '.', '.');
    }
    
    if($a==1.00 or $a==1){
    return "-";
    }
    
    return $a;
    }
    
    $rakam = 1;
    
    echo duzelt($rakam);
    
    
    
    ?>