get_item_options 함수에서요

get_item_options 함수에서요

QA

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]의 배열에 중복없이 옵션을 넣는것 같네요. 

영카트는 잘 사용안해서....원본소스 함 열어봤네요.
해당 소스 아래쪽에 옵션선택목록 만들기가 있는데요.

                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($opt_id[$k] && !in_array($opt_id[$k], $options[$k])){
                    $options[$k][] = $opt_id[$k];
    }

id변수가있고 옵션배열안에 변수가없다면
옵션배열은 아이디값과 같다
단순한거같은데 ㅡ.ㅡ


                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() 에 대해서 공부하시면 될겁니다. 

제가 궁금한것은^^;
왜 아래를 하는지궁금한것 입니다^^;
$options[$k] 배열안에 해당 값이 없다면 $options[$k]에 $opt_id[$k] 값을 추가한다.

왜 $options[$k]에 $opt_id[$k] 값을 추가해야 하는지..

답변을 작성하시기 전에 로그인 해주세요.
전체 98
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT