2차 배열을 합치는 foreach 문 잘다루는 분 계실까요??? 채택완료
$arr_dom2 ["옵션명"][]='블랙 / M';
$arr_dom2 ["옵션명"][]='블랙 / L';
$arr_dom2 ["옵션명"][]='블랙 / XL';
$arr_dom2 ["옵션명"][]='화이트 / M';
$arr_dom2 ["옵션명"][]='화이트 / L';
$arr_dom2 ["옵션명"][]='화이트 / XL';
print_m($arr_dom2,"BBBBBBB");
$arr_dom3 ['SKU']="98252";
$arr_dom3 ['Stock']=999;
$arr_dom3 ['Price']=125000;
$arr_dom3 ['Currency']=10;
$arr_dom3 ['Image']= array("img src='naver'");
$arr_dom3 ['ImageSet']=array("img src='naver'","img src='kakao'","img src='google'");
print_m($arr_dom3,"CCCCCCCC");
$arr_dom4 = array();
foreach($arr_dom2 as $key => $value) {
$arr_dom3[] = $key;
}
print_m($arr_dom4,"DDDDDDDD");
원하는건 옵션만 담겨져 있는 배열값에 해당 배열에 담겨져있는 info를 출력하고 싶은데요
잘안되는데 고수님들 도와주세요~~
결과는
https://sir.kr/bbs/view_image.php?fn=%2Fdata%2Feditor%2F2206%2F3731937798_1656510529.3148.png" target="_blank">https://sir.kr/data/editor/2206/3731937798_1656510529.3148.png" />
이렇게 나오면 되거든요 배열만 마스터하면 회사 다니기 펼할것같은데 에구 대가리가 안돌아가네요
답변 1개
</p>
<p><?php</p>
<p>$info = array();</p>
<p>foreach($arr_dom2['옵션명'] as $key => $value) {</p>
<p> $tmp = array();</p>
<p> foreach($arr_dom3 as $k => $v) {</p>
<p> $tmp[$k] = $v;</p>
<p> }</p>
<p> $info[$value] = $tmp;</p>
<p>}</p>
<p>print_r2($info);</p>
<p>
와 같이 한번 해보세요
직접실행해본건 아니라서 조금 안맞을수도있긴할텐데, 개념적으로 맞을겁니다.
답변에 대한 댓글 4개
$option_list[0][]="BLACK";
$option_list[0][]="BLUE";
$option_list[0][]="RED";
$option_info[0]['SKU']="BLACK-123";
$option_info[0]['Stock']=91;
$option_info[0]['Price']=1000;
$option_info[1]['SKU']="BLUE-123";
$option_info[1]['Stock']=91;
$option_info[1]['Price']=1000;
$option_info[2]['SKU']="RED-123";
$option_info[2]['Stock']=91;
$option_info[2]['Price']=1000;
수기로 입력해보왔는데요
info 배열 0 번째에 option_title을 넣고 싶은데요 어떻게 하면 좋을까요??
$info 배열 0번째에 $option_title을 넣겠다...
배열의 요소의 성질이 상위의 것과 맞아야 데이타를 넣을수있습니다.
배열이 아닌 객체로 넣는다면 모를까.
위의 제가 답을 드린 구조를 좀 변형하면
[code]
<?php
$info = array();
$info[0] = $option_title;
$idx = 1;
foreach($arr_dom2['옵션명'] as $key => $value) {
$tmp = array();
foreach($arr_dom3 as $k => $v) {
$tmp[$k] = $v;
}
$info[$idx][$value] = $tmp;
$idx++;
}
print_r2($info);
[/code]
이렇게 해야할것 같아보이는데
원하시는게 이런게 아니라면 좀더 구체적인 질문을 명료하게 다시해보세요
원시데이타와 가공데이타 둘다 샘플을 보여주시는게 더 정확하겠죠
$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;
[/code]
이렇게 만들었는데 맞을까요?? 이제 이걸 foreach 문으로 풀어보아야 할 것 같은데 어떻게 하면 좋을까요??
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인