2012-12-19 31 views
0

我有下面的代碼,但它一次運行一個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); 
} 
+0

把它變成一個的foreach – vlcekmi3

+4

縮進是騙人的。這裏沒有發生嵌套,只是一系列連續排列的「foreach」循環。 –

+0

是的,沒有嵌套,縮進幫助我在編碼時快速分組事物。由於我的編碼非常混亂。我將如何嵌套這些來完成我所描述的內容? –

回答

2

爲什麼不這樣:

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']); 

} 
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); 
}