Webi Blog

웹아이에서 운영되고 있는 블로그입니다.

Kin

PHP 등급 출력 도와주세요! | 다중 if문을 이용한 등급 출력!

웹아이 2018. 7. 16. 20:15
반응형



Q.

0-100 사이 점수를 하나 입력받는 변수를 설정하고 입력된 값이 조건에  해당하면 등급을 출력

다중 if문 사용 등급과 점수 함께 출력 하다가 잘 안되서ㅠ 도와주세요.






A.

해당 문제는 다중 if문으로 해결 가능합니다.^^


다중 if문은


if(조건1){
  조건1 True
}else if(조건2){
  조건2 True
}else if(조건3){
  조건3 True
}else{
  모든 조건 False
}


위와 같은 방식으로 사용하실 수 있습니다.

갯수는 상관없이 필요한 만큼 늘리실 수 있습니다.


맨 위의 조건부터 체크를 해서 조건이 맞는 곳에서 실행을 하고 뒤의 조건문은 무시가 된 채로 멈추게 됩니다.


예를 들어


if($a > 95){
  조건1 실행
}else if($a > 80){
  조건2 실행
}else if($a > 70){
  조건3 실행
}


이런 조건문이 있고 $a의 값이 97이라면 조건1, 조건2, 조건3 모두 만족됩니다.

하지만 조건1에서 이미 True를 반환하므로 조건1만 실행하고 조건2, 조건3은 실행이 되지않고 무시됩니다.


만약 $a의 값이 85라면 이 경우에는 조건2만 실행이 됩니다.^^


이런 방식을 이용하면 위의 문제는 어렵지 않게 해결될 수 있습니다.


if($score >= 95){
  echo "점수 : ".$score." / 등급 : A+";
}else if($score >= 90){
  echo "점수 : ".$score." / 등급 : A";
}else if($score >= 85){
  echo "점수 : ".$score." / 등급 : B+";
}else if($score >= 80){
  echo "점수 : ".$score." / 등급 : B";
}else if($score >= 75){
  echo "점수 : ".$score." / 등급 : C+";
}else if($score >= 70){
  echo "점수 : ".$score." / 등급 : C";
}else if($score >= 65){
  echo "점수 : ".$score." / 등급 : D+";
}else if($score >= 60){
  echo "점수 : ".$score." / 등급 : D";
}else{
  echo "점수 : ".$score." / 등급 : F";
}


위와 같은 방법으로 처리하면 되겠습니다.

물론 Swtich문을 사용하는 방법도 있긴 하지만 다중 if문을 원하셔서 if문으로 답변을 드렸습니다.^^

반응형