$array1 = array(
0 => array(
'items' => array(
1 => array('79-' => 'abc','80-'=>'123'),
2 => array('79-' => 'Mapping item1','80-'=>'123'),
3 => array('79-' => 'abc','80-'=>'123')
)
),
1 => array(
'items' => array(
1 => array('79-' => 'Mapping item2','80-'=>'123'),
)
)
);
これは二番目の配列である:Iにより2つの配列をマッピングしようとしてい
$array2 = array(
2 => array(
"A" => 'Mapping item1',
"B" => array(1 => 'product1', 2 => 'product2', 3 => 'product3')
),
3 => array(
"A" => 'Mapping item2',
"B" => array(1 => 'product4', 2 => 'product5', 3 => 'product6')
)
);
キー値79-を変更し、配列1を変更します。ここに私のコードです。
foreach ($array1 as $key => $orders) {
$items = $orders['items'];
$itemIndex = 1;
foreach ($items as $k => $item) {
foreach ($array2 as $row) {
if (strpos($item['79-'], $row['A']) !== false) {
foreach ($row['B'] as $ite) {
items[ $itemIndex ]['79-'] = $ite;
$itemIndex++;
}
}
}
$itemIndex++;
}
$orders['items'] = $items;
$array1[ $key ] = $orders;
}
以下のように配列を返したいが、コードが機能しない。
$expectedArray = array(
[0]=> array(
['items'] => array(
[1]=>array('79-'=>'abc','80-'=>'123'),
[2]=>array('79-'=>'product1','80-'=>'123'),
[3]=>array('79-'=>'product2','80-'=>'123'),
[4]=>array('79-'=>'product3','80-'=>'123'),
[5]=>array('79-'=>'abc','80-'=>'123')
)
),
[1]=>array(
['items'] => array(
[1]=>array('79-'=>'product4','80-'=>'123'),
[2]=>array('79-'=>'product5','80-'=>'123'),
[3]=>array('79-'=>'product6','80-'=>'123'),
)
)
);
誰でもこの問題を解決する方法を知っているので、助けてください。私はこれを何時間も働いてきました。
変更[A] [ "A"] ..同上のB /アイテム[$ itemIndex] [ '79-'] $へのアイテム/ 'product6 to' product6 ' – Cuchu
私は入力ミスを編集したばかりですが、解決策ではありません。 – Tedxxxx
期待どおりの結果を投稿できますか?私は何をする必要があるのか理解するのに問題があります。 – Andreas