이 코드를 switch문이나 array로 사용하는 방법 알려주세요!!
본문
if($point <= 500 && $good <= 5 && $attend <= 3) { echo '첫번째'; }
else if($point <= 600 && $good <= 10 && $attend <= 5) { echo '두번째'; }
else if($point <= 700 && $good <= 15 && $attend <= 10) { echo '세번째'; }
else if($point <= 800 && $good <= 20 && $attend <= 15) { echo '네번째'; }
else if($point <= 900 && $good <= 25 && $attend <= 20) { echo '다섯번째'; }
위와 같이 각 3개의 변수들을 고정된 값과 비교해야 하는데
비교해야 하는 고정 값이 많아서 짧게 스위치나 배열로 사용하고 싶습니다.
짧게 예제 하나만 부탁드려도 될까요?
!-->답변 2
$n = $point . sprintf('%03d', $good) . sprintf('%03d', $attend);
$arr = array(500005003, 600010005, 700015010, 800020015, 900025020);
foreach($arr as $k =>$v) if ($n <= $v) break;
echo ++$k . '번째';
만들어봤는데.. 더 복잡하네요..ㅋ
$point_arr = array(1=>'500', 2=>'600', 3=>'700', 4=>'800', 5=>'900');
$good_arr = array(1=>'5', 2=>'10', 3=>'15', 4=>'20', 5=>'25');
$attend_arr = array(1=>'3', 2=>'5', 3=>'10', 4=>'15', 5=>'20');
$name_arr = array(1=>'첫번째', 2=>'두번째', 3=>'세번째', 4=>'네번째', 5=>'다섯번째');
foreach($point_arr as $key => $val) {
if($point<$val) $point_num=$key;
}
foreach($good_arr as $key => $val) {
if($good<$val) $good_num=$key;
}
foreach($attend_arr as $key => $val) {
if($attend<$val) $attend_num=$key;
}
$max_num = max($point_num,$good_num,$attend_num);
echo $name_arr[$max_num];
답변을 작성하시기 전에 로그인 해주세요.