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 |