여러조건 switch문 문의
본문
switch문 문의
( 여분필드 mb_1 은 성별 남성 ,여성 여분필드 mb_2는 회원나이 )
전제조건 , 회원의성별 , 회원나이
회원의 성별이 남자고 나이가 10살이면 20점
회원의 성별이 여자고 나이가 20살이면 30점
기타는 5점
if문은 알겟는데 스위치문이 모르겠네요
스위치문좀 부탁드립니다
답변 4
조건 2개를 비교하는 거면 당연히 if문이 쉽죠
스위치 문으로 하려면 이중 스위치를 해야되서 복잡하죠
근데 질문이 스위치문으로 해달라는 거였기 때문에 스위치문으로 작성해드렸고요
조건문이 천개가 되더라도
if 문과 스위치 문의 속도는 거의 비슷합니다 (조건이 단일이고 비교해야 하는 항목(case) 가 많을경우
jump 형식인 스위치가 물론 조금더 빠르지만
그 빠름이 속도에 월등한 차이가 있거나 할 정도로 크리티컬 한 것도 아니고요
이런것보다 조건이 많아진다면 해당 조건을 줄일수있게 설계에 신경을 쓰시는게 더 좋을꺼 같습니다
조건이 2가지인데, 굳이 switch문을 사용해야 할 이유가 있나요?
알겠다는 if문을 그냥 사용하는 것이 낫겠는데요.
if ( $mb_1=='남성' && $mb_2==10 ) {
// 20
} else if ( $mb_1=='여성' && $mb_2==20 ) {
// 30
} else {
// 5
}
// 굳이 switch문을 사용하겠다면 아래처럼 처리하는 방법도 있습니다.
switch ( $mb_1.$mb_2 ) { // 문자열 결합
case '남성10':
// 20
break;
case '여성20':
// 30
break;
default:
// 5
}
<?php
$mb_1 = "woman";
$mb_2 = 20;
$result = 0;
switch ($mb_1) {
case "man" :
switch ($mb_2) {
case 10 :
$result = 20;
break;
default :
$result = 5;
break;
}
break;
case "woman" :
switch ($mb_2) {
case 20 :
$result = 30;
break;
default :
$result = 5;
break;
}
break;
default :
$result = 5;
break;
}
echo $result;
?>
네이버 검색하다 안되서
스위시문에서 if문처럼 && (AND) 로
$mb_1=='남성' && $mb_2==10
시작함 편한데 안되나요?
위스위치문대로함 이프문처럼 너무 복잡할텐데요
제시한 조건은 두개인데
조건이 사실 많아서 조사하다보니 스위치문은 점프한다해 속도가 조금더 낳지 않을까해서요
답변을 작성하시기 전에 로그인 해주세요.