답변 2개
채택된 답변
+20 포인트
7년 전
이건뭐 간단한거라..
</p>
<p>//lib/common.lib.php에 아래 함수 추가</p>
<p>function get_level_name($point){</p>
<p> switch($point) {</p>
<p> case 0 : case ($point <= 1000) :$level_name='이병';break;</p>
<p> case ($point > 1000 && $point <= 2000) :$level_name='일병';break;</p>
<p> case ($point > 2000 && $point <= 3000) :$level_name='상병';break;</p>
<p> case ($point > 3000 && $point <= 4000) :$level_name='병장';break;</p>
<p> default : $level_name='훈련병';break;</p>
<p> }</p>
<p> return $level_name;</p>
<p>}</p>
<p> </p>
<p>//출력할때 </p>
<p>echo get_level_name($member['mb_point']);</p>
<p>
뭐 생각난대로 작성한거긴한데 위 내용을 응용하시면됩니다 ^^
로그인 후 평가할 수 있습니다
답변에 대한 댓글 5개
s
sinbi
7년 전
04라인의 case 0 : 코드는 적어주는 게 맞나요?
P
Policia
7년 전
네 0포인트일때 조건값을 잡아주는거라 "훈련병"이란 조건을 0~500정도로한다면
case : 0 case ($point <= 500) : $level_name='훈련병';break; 이렇게 잡으면됩니다
그냥 생각나는대로하다보니ㅋㅋ
case : 0 case ($point <= 500) : $level_name='훈련병';break; 이렇게 잡으면됩니다
그냥 생각나는대로하다보니ㅋㅋ
P
Policia
7년 전
[code]
//lib/common.lib.php에 아래 함수 추가
function get_level_name($point){
switch($point) {
case 0 : case ($point <= 500) :$level_name='훈련병';break;
case ($point > 500 && $point <= 1000) :$level_name='이병';break;
case ($point > 1000 && $point <= 2000) :$level_name='일병';break;
case ($point > 2000 && $point <= 3000) :$level_name='상병';break;
case ($point > 3000 && $point <= 4000) :$level_name='병장';break;
default : $level_name='설정안됨';break;
}
return $level_name;
}
//출력할때
echo get_level_name($member['mb_point']);
[/code]
이렇게가 더 정확하겠네요
//lib/common.lib.php에 아래 함수 추가
function get_level_name($point){
switch($point) {
case 0 : case ($point <= 500) :$level_name='훈련병';break;
case ($point > 500 && $point <= 1000) :$level_name='이병';break;
case ($point > 1000 && $point <= 2000) :$level_name='일병';break;
case ($point > 2000 && $point <= 3000) :$level_name='상병';break;
case ($point > 3000 && $point <= 4000) :$level_name='병장';break;
default : $level_name='설정안됨';break;
}
return $level_name;
}
//출력할때
echo get_level_name($member['mb_point']);
[/code]
이렇게가 더 정확하겠네요
s
sinbi
7년 전
생긴 모양이 아래 것들이랑 달라서 궁금했네요. ㅎㅎ
왜 아래처럼 코드를 안 적는지 궁금....
case ($point >= 0 && $point <= 500) :$level_name='훈련병';break;
왜 아래처럼 코드를 안 적는지 궁금....
case ($point >= 0 && $point <= 500) :$level_name='훈련병';break;
P
Policia
7년 전
switch 문의 특성상 그렇게하면 switch가 case를 못잡습니다ㅋㅋ 저도 정확한 이유는 잘모르지만
제가 아는 선에서는 switch문은 변수가가지고있는 값을 검사하는것이라 0이면 0==false기 때문에
switch문이 더이상 작동하지못하더라구요 말그대로 값도없는걸 줘놓고 왜 나보고 이걸 평가하냐?하고 얘가 더이상 작동안해버립니다 ㅋㅋ
sinbi님이 작성하신 코드를 변경하여 넣어보시면 이해가 쉬우실것같습니다 $point가 1이상이라도 있을때는 정상적으로 작동하나 0을넣었을때 보시면 뜬금없이 "이병"을 출력하는걸 보실수있습니다
그래서 case 0 : 으로 0일때 조건을 줘서 0일때도 정상적으로 작동되도록 하는것입니다
제가 아는 선에서는 switch문은 변수가가지고있는 값을 검사하는것이라 0이면 0==false기 때문에
switch문이 더이상 작동하지못하더라구요 말그대로 값도없는걸 줘놓고 왜 나보고 이걸 평가하냐?하고 얘가 더이상 작동안해버립니다 ㅋㅋ
sinbi님이 작성하신 코드를 변경하여 넣어보시면 이해가 쉬우실것같습니다 $point가 1이상이라도 있을때는 정상적으로 작동하나 0을넣었을때 보시면 뜬금없이 "이병"을 출력하는걸 보실수있습니다
그래서 case 0 : 으로 0일때 조건을 줘서 0일때도 정상적으로 작동되도록 하는것입니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인