테스트 사이트 - 개발 중인 베타 버전입니다

선택옵션 함수내용중 채택완료

해커되기 8년 전 조회 6,293
lib/shop.lib.php 파일에서
get_item_options ($it_id, $subject) 함수 내용중 아래 내용이 무슨 내용인지 설명좀 해주세요^^
반복해봐도 도무지-_-

function get_item_options($it_id, $subject)
{
[생략]
        // 옵션항목 배열에 저장
        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];
            }
        }
[생략]
}
댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

function get_item_options($it_id, $subject)

{

[생략]

        // 옵션항목 배열에 저장

        for($i=0; $row=sql_fetch_array($result); $i++) {

-> DB 에서 검색 결과를 불러와서 $row 에 넣고 값이 만큼 반복문

 

            $opt_id = explode(chr(30), $row['io_id']);

->$row['io_id'] 에서 chr(30)기준으로 값을 배열에 넣기

 

            for($k=0; $k<$subj_count; $k++) {

->$subj_count; 숫자만큼 반복

                if(!is_array($options[$k])) 

 

->$options[$k] 배열인지 확인

                    $options[$k] = array();

 

                if($opt_id[$k] && !in_array($opt_id[$k], $options[$k]))

 

 

 $opt_id[$k]배열값은 있는가

$opt_id[$k] 배열에 $options[$k] 값이 있는가

 

 

 

 

 

                    $options[$k][] = $opt_id[$k];

 

$options[$k][] 배열에 $opt_id[$k] 을 배열 하는것

 

 

            }

        }

[생략]

}

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

해커되기
8년 전
감사합니다.

하지만, 제가 이해가 안되는 것은
아래입니다.

왜 $opt_id[$k]배열값은 있는가 체크하며,
왜 $opt_id[$k] 배열에 $options[$k] 값이 있는가를 체크하는지?

그리고 $options[$k][] 배열이 뭐를 뜻하는지?

그리고 왜 $options[$k] 배열에 $opt_id[$k] 을 집어넣지 않고
왜 $options[$k][] 배열에 $opt_id[$k] 을 집어넣는지?



귀찮게 해드려 죄송해요
해커되기
8년 전
정말 감사합니다.
그런데 다시 질문새로 올릴께요

댓글을 작성하려면 로그인이 필요합니다.

function get_item_options($it_id, $subject)
{
[생략]
        // 옵션항목 배열에 저장
        for($i=0; $row=sql_fetch_array($result); $i++) {
-> DB 에서 검색 결과를 불러와서 $row 에 넣고 값이 만큼 반복문

            $opt_id = explode(chr(30), $row['io_id']);
->$row['io_id'] 에서 chr(30)기준으로 값을 배열에 넣기

            for($k=0; $k<$subj_count; $k++) {
->$subj_count; 숫자만큼 반복
                if(!is_array($options[$k])) 

->$options[$k] 배열인지 확인
                    $options[$k] = array();

                if($opt_id[$k] && !in_array($opt_id[$k], $options[$k]))
                    $options[$k][] = $opt_id[$k];
            }
        }
[생략]
}
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

해커되기
8년 전
죄송하지만 아래를 모릅니다.
아래좀 설명 좀 해주세요

아래가 무슨 작업을 하고 있는지 모르겠어요

if($opt_id[$k] && !in_array($opt_id[$k], $options[$k]))
$options[$k][] = $opt_id[$k];

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인