0

次のコードがありますが、一度に 1 つずつ foreach ループを実行します。それらをすべて一度に実行する方法はありますか?

foreach($json['orders']['cnr_output_ship_to_header'] as $header)
{
    $orders_array[] = $header;
    $guests_array[] = $header['guests']['cnr_output_guest_detail'];
    $items_array[] = $header['items']['cnr_output_item_detail'];
}   

foreach($guests_array as $guests)
{
    pdo_insert('cnr_output_guest_detail', (array)$guests);
}
foreach($items_array as $items)
{
    pdo_insert('cnr_output_item_detail', (array)$items);
}
foreach($orders_array as $orders)
{
    pdo_insert('cnr_output_ship_to_header', (array)$orders);
}
4

2 に答える 2

2

これはうまくいくはずです

foreach ( $json['orders']['cnr_output_ship_to_header'] as $header ) {
    pdo_insert('cnr_output_guest_detail', (array)  $header['guests']['cnr_output_guest_detail']);
    pdo_insert('cnr_output_item_detail', (array) $header['items']['cnr_output_item_detail']);
    pdo_insert('cnr_output_ship_to_header', (array) $header);
}
于 2012-12-19T19:07:07.810 に答える
1

なぜこれではないのですか:

foreach($json['orders']['cnr_output_ship_to_header'] as $header) {
    //$orders_array[] = $header;
    pdo_insert('cnr_output_ship_to_header', (array)$header);
    //$guests_array[] = $header['guests']['cnr_output_guest_detail'];
    pdo_insert('cnr_output_guest_detail', (array)$header['guests']['cnr_output_guest_detail']);
    //$items_array[] = $header['items']['cnr_output_item_detail'];
    pdo_insert('cnr_output_item_detail', (array)$header['items']['cnr_output_item_detail']);

}
于 2012-12-19T19:07:36.250 に答える