これが私が行っていることです。顧客と注文の配列が1つあるので、これら2つのデータから新しい配列を作成しています...コードは次のとおりです。
カスタマーアレイ:
Array
(
[0] => Array
(
[customerid] => 1234
[name] => John Doe
[email] => john@doe.com
)
[1] => Array
(
[customerid] => 4321
[name] => Jane Smith
[email] => jane@smith.com
)
(etc...)
)
Orders配列:
Array
(
[0] => Array
(
[customerid] => 1234
[amount] => 100.00
[date] => 2012-05-11
)
[1] => Array
(
[customerid] => 4321
[amount] => 200.00
[date] => 2012-03-01
)
[2] => Array
(
[customerid] => 4321
[amount] => 500.00
[date] => 2012-02-22
)
(etc...)
)
最終的な配列:
Array
(
[1234] => Array
(
[name] => John Doe
[email] => john@doe.com
[orders] => Array
(
[0] => Array
(
[amount] => 100.00
[date] => 2012-05-11
)
)
)
[4321] => Array
(
[name] => Jane Smith
[email] => jane@smith.com
[orders] => Array
(
[0] => Array
(
[amount] => 200.00
[date] => 2012-03-01
)
[1] => Array
(
[amount] => 500.00
[date] => 2012-02-22
)
)
)
(etc...)
)
だから...これは私が考えたPHPコードです:
$customers = array(blah...); # See above...
$orders = array(blah...); # See above...
$new_array = array();
foreach ($customers as $c) {
$new_array[$c['customerid']] = array(
'name' => $c['name'],
'email' => $c['email'],
'orders' => array()
);
}
foreach ($orders as $o) {
$new_array[$o['customerid']]['orders'][] = array(
'amount' => $o['amount'],
'date' => $o['date']
);
}
最後に、この投稿のトピックにいます!これを最適化するためのヒントはありますか?または、最初は順調でした...それもいいでしょう...とにかく、私がそれらに従わないことを選んだとしても、どんなヒントもありがたいです...よろしくお願いします...