get_item_options 함수에서요 채택완료
lib/shop.lib.php파일안의
====================
get_item_options 함수내용중에서 질문드려요
빨간색 부분 뭐하는건지...뭐하고 있는 내용인가요? ^^
// 옵션항목 배열에 저장
for($i=0; $row=sql_fetch_array($result); $i++) {
$opt_id = explode(chr(30), $row['io_id']);
for($k=0; $k<$subj_count; $k++) {
if(!is_array($options[$k])) {
$options[$k] = array();
}
if($opt_id[$k] && !in_array($opt_id[$k], $options[$k])){
$options[$k][] = $opt_id[$k];
}
}
}
답변 4개
if($opt_id[$k] && !in_array($opt_id[$k], $options[$k])){
$options[$k][] = $opt_id[$k];
}
$opt_id[$k]의 값이 있으며,
$opt_id[$k]의 값이 $options[$k] 배열에 없다면
$options[$k]의 배열에 $opt_id[$k] 값을 추가하라.
$options[$k]의 배열에 중복없이 옵션을 넣는것 같네요.
답변에 대한 댓글 3개
해당 소스 아래쪽에 옵션선택목록 만들기가 있는데요.
for($k=0; $k<$opt_count; $k++) {
$opt_val = $opt[$k];
if(strlen($opt_val)) {
$select .= '<option value="'.$opt_val.'">'.$opt_val.'</option>'.PHP_EOL;
}
}
여기서 옵션의 값이 똑같은게 나오는걸 방지하기 위해서로 보이네요.
$select .= '<option value="'.$opt_val.'">'.$opt_val.'</option>'.PHP_EOL;
요거 때문으로 보입니다.
댓글을 작성하려면 로그인이 필요합니다.
if(!is_array($options[$k])) {
$options[$k] = array();
}
$options[$k] 이 배열로 선언되어 있지 않다면 배열로 선언한다.
if($opt_id[$k] && !in_array($opt_id[$k], $options[$k])){
$options[$k][] = $opt_id[$k];
}
$opt_id[$k] 값이 존재하고 $options[$k] 배열안에 해당 값이 없다면 $options[$k]에 $opt_id[$k] 값을 추가한다.
is_array() 와 in_array() 에 대해서 공부하시면 될겁니다.
답변에 대한 댓글 1개
왜 아래를 하는지궁금한것 입니다^^;
$options[$k] 배열안에 해당 값이 없다면 $options[$k]에 $opt_id[$k] 값을 추가한다.
왜 $options[$k]에 $opt_id[$k] 값을 추가해야 하는지..
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
왜 $options[$k]의 배열에 $opt_id[$k] 값을 추가하는지요?
$options[$k]의 배열에 중복없이 옵션을 넣는 이유가 뭔가요?