Prima del controllo assicurati che il valore di $d non sia intero ma decimale
poi controlla la condiziona, prova poi con if(!is_float($d)){ ...numero intero... }else{ ...numero non intero... }