Segue meu cálculo de IMC como sugestão:
$peso = 58;
$altura = 1.63;
$isPesoIdeal = false;
$imc = $peso / ($altura**2);
if($imc >= 16 && $imc <= 16.9){
echo "Muito abaixo do peso";
} else if($imc >= 17 && $imc <= 18.4){
echo "Abaixo do peso";
} else if($imc >= 18.5 && $imc <= 24.9){
$isPesoIdeal = true;
echo "Peso normal\t";
} else if($imc >= 25 && $imc <= 29.9){
echo "Acima do peso";
} else{
echo "Obesidade Grau I";
}
$mediaImc = (18.5 + 24.9)/2;
$pesoIdeal = ($peso * $mediaImc)/ $imc;
if($isPesoIdeal == false){
echo "\n Peso ideal = " . number_format($pesoIdeal, 2, ',') . " kg";
}
else{
echo "Você está saudável, parabéns porque não vai morrer cedo!";
}