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