html selectbox 배열에 담긴 값으로 옵션 태그 만들기

html selectbox의 options 들을 추가 할때 하나하나 입력하면 귀찮고 반복해서 사용하는 것들은 매번 만들기 귀찮기 때문에 함수를 하나 만들어서 처리 한다.

배열에 값과 텍스트를 미리 입력해놓은 상태에서 해당 배열을 호출 하면 자동으로 <option>태그로 둘러쌓은 값을 리턴한다. 두번째 인자에 선택된 값을 입력하면 해당 <option>에 자동으로 selected=’selected’를 추가 한다.
마지막 인자는 option에 value 값을 배열의 키값으로 사용할 것인지 값으로 할지를 결정한다. 기본적으로 키를 option value에 삽입한다.

소스코드

// selectbox 옵션값 가져오기
function getSelectboxOptions($arr, $selected, $is_key=1) {
	$str = "";
	foreach($arr AS $key => $val) {
		$option_value = ($is_key) ? $key : $val;
		$option_text = $val;
		$seled = ($option_value == $selected) ? " selected='selected'" : "";
		$str .= "<option value='{$option_value}'{$seled}>{$option_text}</option>\n";
	}

	return $str;
}

사용예제 (예제보기)

<?
$phone_first = Array("02"=>"서울(02)", "031"=>"경기(031)", "032"=>"인천(032)", "033"=>"강원(033)", "041"=>"경남(041)", "042"=>"대전(042)", "043"=>"충북(043)", "051"=>"부산(051)", "052"=>"울산(052)", "053"=>"대구(053)", ""=>"경북(054)", "055"=>"경남(055)", "061"=>"전남(061)", "062"=>"광주(062)", "063"=>"전북(063)", "064"=>"제주(064)", "070"=>"평생번호(070)");
?>
<select name="phone_first">
<?=getSelectboxOptions($phone_first, "061");?>
</select>

 

CC BY-NC-SA 4.0 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.