2014-01-30 63 views
0

我的代碼只是填充在數組$最後一個數組車間如何動態獲取多維數組?

我的循環函數填充數組$作坊,像這樣

while (ECSE_purchase::have_products()) { 
       ECSE_purchase::the_product(); 
       $prodid = ECSE_purchase_product::get_the_ID(); 
       $workshop_data = ETICKETDATA::get_workshop_details_helper($prodid); 
       $workshops = array(); 
if($prodid == 565) { 
............ 
} else { 
$workshopsTmp = array(); 
          $workshopsTmp['workshop_barcode'] = $data['workshop_barcode']; 
          $workshopsTmp['workshop_id'] = ECSE_purchase_product::get_the_ID(); 
          $workshopsTmp['workshop_title'] = ECSE_purchase_product::get_the_name(); 
          $workshopsTmp['workshop_time'] = $workshop_data['time']; 
          $workshopsTmp['workshop_room'] = $workshop_data['room']; 
          $workshopsTmp['workshop_num_of_tickets'] = ECSE_purchase_product::get_the_QTY(); 
          $workshops[] = $workshopsTmp; 
} 

但是在這裏我只是得到最後的陣列,而不是像這樣:

$workshops = array(array('workshop_barcode' => '0101010101', 
           'workshop_id' => '589', 
           'workshop_title' => 'Swimming', 
           'workshop_time' => '12:00', 
           'workshop_room' => 'Room 1', 
           'workshop_num_of_tickets' => '2'), 
          array('workshop_barcode' => '03030303003', 
           'workshop_id' => '568', 
           'workshop_title' => 'Running', 
           'workshop_time' => '15:00', 
           'workshop_room' => 'Room 3', 
           'workshop_num_of_tickets' => '3'), 
          array('workshop_barcode' => '0505050505', 
           'workshop_id' => '570', 
           'workshop_title' => 'Biking', 
           'workshop_time' => '16:00', 
           'workshop_room' => 'Room 2', 
           'workshop_num_of_tickets' => '2')); 

任何指針讚賞。

問候,

只需編輯循環

+2

用您正在使用的語言標記您的問題。 – user2357112

+2

究竟是什麼問題?你想做什麼? – Styphon

+0

您需要展示更多的循環代碼。顯示的樣本看起來不是罪魁禍首。 – ToBe

回答

1

你讓你重新定義數組初始。嘗試在循環之前放置$ workshop陣列

$workshops = array(); 

while (ECSE_purchase::have_products()) { 
       ECSE_purchase::the_product(); 
       $prodid = ECSE_purchase_product::get_the_ID(); 
       $workshop_data = ETICKETDATA::get_workshop_details_helper($prodid); 

if($prodid == 565) { 
............ 
} else { 
$workshopsTmp = array(); 
          $workshopsTmp['workshop_barcode'] = $data['workshop_barcode']; 
          $workshopsTmp['workshop_id'] = ECSE_purchase_product::get_the_ID(); 
          $workshopsTmp['workshop_title'] = ECSE_purchase_product::get_the_name(); 
          $workshopsTmp['workshop_time'] = $workshop_data['time']; 
          $workshopsTmp['workshop_room'] = $workshop_data['room']; 
          $workshopsTmp['workshop_num_of_tickets'] = ECSE_purchase_product::get_the_QTY(); 
          $workshops[] = $workshopsTmp; 
} 
+0

AARGggh,你是如此正確。在代碼的一部分主持太久。 TX – alex