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_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 로 변경하면 될 것 같습니다.
그렇게 해서 한번더 출력해보는 거죠