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;
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
$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 로 변경하면 될 것 같습니다.
그렇게 해서 한번더 출력해보는 거죠
답변에 대한 댓글 3개
$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_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 문으로 돌리려면 어떻게 하면 좋을까요??
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
$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;
이렇게 하였는데 잘나온것같더라구요 이게 맞을까요?? 이제 이해가 되네요