채택완료

선택옵션 함수내용중

2017-03-12 (일) 22:27:02 6,498
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개 / 댓글 3개

채택된 답변
+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개

감사합니다.

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

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

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

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



귀찮게 해드려 죄송해요
정말 감사합니다.
그런데 다시 질문새로 올릴께요
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개

죄송하지만 아래를 모릅니다.
아래좀 설명 좀 해주세요

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

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

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