I have the following code, but it runs the foreach loop one at a time. Is there a way of making them all run at once?
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);
}
Alister Bulman
35.3k9 gold badges75 silver badges113 bronze badges
asked Dec 19, 2012 at 19:01
user1105787
2 Answers 2
This should work just fine
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);
}
answered Dec 19, 2012 at 19:07
Baba
95.3k29 gold badges172 silver badges222 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
why not this:
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']);
}
answered Dec 19, 2012 at 19:07
mychalvlcek
4,0762 gold badges23 silver badges36 bronze badges
Comments
lang-php
foreachloops arranged in series.