get_member_level_select 에서 0부터 시작하는 이유
본문
function get_member_level_select($name, $start_id = 0, $end_id = 10, $selected = "", $event = "")
{
global $g5;
$str = "\n<select id=\"{$name}\" name=\"{$name}\"";
if ($event) {
$str .= " $event";
}
$str .= ">\n";
for ($i = $start_id; $i <= $end_id; $i++) {
$str .= '<option value="' . $i . '"';
if ($i == $selected) {
$str .= ' selected="selected"';
}
$str .= ">{$i}</option>\n";
}
$str .= "</select>\n";
return $str;
}
admin.lib.php 에서 레벨을 선택할 수 있게 select 을 출력하는 함수인데요.
회원레벨은 1부터 시작하는데 굳이 0부터 시작하는 이유가 있을까요?
get_member_level_seclt 을 호출하는 부분들을보면 $start_id 에 0 부터 불러오는 부분이 없는데
애초에 함수 매개변수를 지정할 때, $start_id = 1 로 설정해서 1부터 불러오게 하면 되는거 아닌가요??
옵션 출력되는 부분에서 value 는 그대로 숫자로 두고, 옵션의 내용을 숫자에서 문구(등급)로 바꾸려고
해당 함수를 보다보니깐 왜 0부터 시작하게 했는지가 궁금해서 질문드립니다....
함수 호출할 때, 항상 필수로 0이 아닌 1로 시작하게 하기 위함인가요...?? 뒤에 오는 $event 가 없을 경우 호출할 때 아무것도 기입하지 않는 것처럼 맨 뒤로 보내버리면 함수호출할 때 불편해서인가 생각도 들고... 봤을 때 직관적으로 이해되게 하기 위해 select name, 시작, 끝, selected 지정, $event(있을 수도 없을 수도) 이렇게 구현된건가 싶기도 한데... 제 추측이 아닌 진짜 이유를 알고 싶습니다!
!-->답변 2
특별한 이유가 없을때도 많습니다.
굳이 이유를 찾지 않으셔도 될 거 같습니다. 필요하시면 변경을 하셔도 되고요.
<?php echo get_member_level_select("mb_level[$i]", 1, $member['mb_level'], $row['mb_level']) ?>
/adm/member_list.php 이 파일에서 보시면 1부터 시작하도록 되어 있습니다.
$start_id = 0 부분을 $start_id = 1로 고처도 무방할 것 같네요