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문으로 답변을 드렸습니다.^^
반응형
'Kin' 카테고리의 다른 글
PHP 출력 도와주세요! | For문 중첩을 이용한 줄바꿈 (477) | 2018.07.14 |
---|---|
php 문서내의 자바스크립트 코드를 해석 부탁드림니다. (2) | 2018.07.06 |
mysql에 중복을 방지할 수 있는 데이터 타입이 있나요??? (4) | 2018.07.02 |
랜딩 사이트 디자인 시 작업 사이즈 (610) | 2018.07.02 |