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