2차 배열 수기로 만드는중인데요 info가 안나오는데 어떻게 하면 좋을까요??

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
2차 배열 수기로 만드는중인데요 info가 안나오는데 어떻게 하면 좋을까요??

QA

2차 배열 수기로 만드는중인데요 info가 안나오는데 어떻게 하면 좋을까요??

본문

$option_title="옵션명";

$option_list[$option_title][]="BLACK";
$option_list[$option_title][]="BLUE";
$option_list[$option_title][]="RED";

$option_info[$option_list[0][0]]['SKU']="BLACK-123";
$option_info[$option_list[0][1]]['Stock']=91;
$option_info[$option_list[0][2]]['Price']=1000;

$option_info[$option_list[1][0]]['SKU']="BLUE-123";
$option_info[$option_list[1][1]]['Stock']=91;
$option_info[$option_list[1][2]]['Price']=1000;

$option_info[$option_list[2][0]]['SKU']="RED-123";
$option_info[$option_list[2][1]]['Stock']=91;
$option_info[$option_list[2][2]]['Price']=1000;

 

title 이랑 list 는 잘나오는데요  info가 안나와서요 어떻게 하면 좋을까요 고수님들 많은 답변 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 2

저걸 단순히 보면은 아래와 같은 상태라고 보시면 됩니다.

$option_title="옵션명";

$option_list['옵션명'][0]="BLACK";
$option_list['옵션명'][1]="BLUE";
$option_list['옵션명'][2]="RED";

 

여기까지는 print_r로 출력을 해보면 정상적으로 출력이 되실 껍니다.

아래를 보시면 key 라고 하는 부분이 잘못되었습니다.

위에는 0,1,2,3 이런 형식의 key 가 아니라 옵션명 이라는 문구가 key 값인데
아래에는 0,1,2,3 으로 key 를 넣었으니 정의되지 않은 배열이기때문에 오류가 납니다.

 

$option_list[0][0] 라는 부분은 위에 정의가 되어 있지 않습니다.

그래서 $option_list['옵션명'][0] 이렇게 해주시면 BLACK 이라는 값이 되겠죠

$option_info['BLACK']['SKU'] "BLACK-123";

이렇게 되는 것입니다.

아래에는 모두 잘 못 배열이 만들어졌기때문에 당연히 출력이 안되는 것이 정상입니다.

 

$option_info[$option_list[0][0]]['SKU']="BLACK-123"; // $option_info[]
$option_info[$option_list[0][1]]['Stock']=91;
$option_info[$option_list[0][2]]['Price']=1000;

$option_info[$option_list[1][0]]['SKU']="BLUE-123";
$option_info[$option_list[1][1]]['Stock']=91;
$option_info[$option_list[1][2]]['Price']=1000;

$option_info[$option_list[2][0]]['SKU']="RED-123";
$option_info[$option_list[2][1]]['Stock']=91;
$option_info[$option_list[2][2]]['Price']=1000;

$option_title="옵션명";

$option_list[$option_title][0]="BLACK";
$option_list[$option_title][1]="BLUE";
$option_list[$option_title][2]="RED";

$option_info[$option_list[$option_title][0]]['SKU']="BLACK-123";
$option_info[$option_list[$option_title][0]]['Stock']=91;
$option_info[$option_list[$option_title][0]]['Price']=1000;

$option_info[$option_list[$option_title][1]]['SKU']="BLUE-123";
$option_info[$option_list[$option_title][1]]['Stock']=91;
$option_info[$option_list[$option_title][1]]['Price']=1000;

$option_info[$option_list[$option_title][2]]['SKU']="RED-123";
$option_info[$option_list[$option_title][2]]['Stock']=91;
$option_info[$option_list[$option_title][2]]['Price']=1000;

이렇게 하였는데 잘나온것같더라구요 이게 맞을까요?? 이제 이해가 되네요

$option_info[$option_list[0][0]]['SKU']="BLACK-123";

-> $option_info[$option_list['옵션명'][0]]['SKU']="BLACK-123";


$option_info[$option_list[0][1]]['Stock']=91;

-> $option_info[$option_list['옵션명'][0]]['Stock']=91;


$option_info[$option_list[0][2]]['Price']=1000;

-> $option_info[$option_list['옵션명'][0]]['Price']=1000;

 

$option_info[$option_list[1][0]]['SKU']="BLUE-123";

-> $option_info[$option_list['옵션명'][1]]['SKU']="BLUE-123";


$option_info[$option_list[1][1]]['Stock']=91;

-> $option_info[$option_list['옵션명'][1]]['Stock']=91;


$option_info[$option_list[1][2]]['Price']=1000;

-> $option_info[$option_list['옵션명'][1]]['Price']=1000;

 

$option_info[$option_list[2][0]]['SKU']="RED-123";

-> $option_info[$option_list['옵션명'][2]]['SKU']="RED-123";


$option_info[$option_list[2][1]]['Stock']=91;

-> $option_info[$option_list['옵션명'][2]]['Stock']=91;


$option_info[$option_list[2][2]]['Price']=1000;

-> $option_info[$option_list['옵션명'][2]]['Price']=1000;

 

이렇게 바꿔서 print_r 해서 원하는 출력값이 나왔다면은

['옵션명'] 부분을 $option_title 로 변경하면 될 것 같습니다.

그렇게 해서 한번더 출력해보는 거죠

$option_title="옵션명";

$option_list[$option_title][0]="BLACK";
$option_list[$option_title][1]="BLUE";
$option_list[$option_title][2]="RED";

$option_info[$option_list[$option_title][0]]['SKU']="BLACK-123";
$option_info[$option_list[$option_title][0]]['Stock']=91;
$option_info[$option_list[$option_title][0]]['Price']=1000;

$option_info[$option_list[$option_title][1]]['SKU']="BLUE-123";
$option_info[$option_list[$option_title][1]]['Stock']=91;
$option_info[$option_list[$option_title][1]]['Price']=1000;

$option_info[$option_list[$option_title][2]]['SKU']="RED-123";
$option_info[$option_list[$option_title][2]]['Stock']=91;
$option_info[$option_list[$option_title][2]]['Price']=1000;

이렇게 하였는데 잘나온것같더라구요 이게 맞을까요?? 이제 이해가 되네요

$option_title[0]="옵션명"; // 1차배열을 그대로 담아서 2차 배열에 넣고 그다음 배열 [] 만들면 된다.

$option_list[$option_title[0]][0]="BLACK";
$option_list[$option_title[0]][1]="BLUE";
$option_list[$option_title[0]][2]="RED";

$option_info[$option_list[$option_title[0]][0]]['SKU']="BLACK-123";
$option_info[$option_list[$option_title[0]][0]]['Stock']=91;
$option_info[$option_list[$option_title[0]][0]]['Price']=1000;

$option_info[$option_list[$option_title[0]][1]]['SKU']="BLUE-123";
$option_info[$option_list[$option_title[0]][1]]['Stock']=91;
$option_info[$option_list[$option_title[0]][1]]['Price']=1000;

$option_info[$option_list[$option_title[0]][2]]['SKU']="RED-123";
$option_info[$option_list[$option_title[0]][2]]['Stock']=91;
$option_info[$option_list[$option_title[0]][2]]['Price']=1000;

이게 맞는것 같아요 여기에서 foreach 문으로 돌리려면 어떻게 하면 좋을까요??

답변을 작성하시기 전에 로그인 해주세요.
전체 10,635
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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