Php 如何动态获取多维数组?

Php 如何动态获取多维数组?,php,multidimensional-array,Php,Multidimensional Array,我的代码只是填充数组中的最后一个数组 我的循环函数填充数组$workshops,如下所示 while (ECSE_purchase::have_products()) { ECSE_purchase::the_product(); $prodid = ECSE_purchase_product::get_the_ID(); $workshop_data = ETICKETDATA::get_w

我的代码只是填充数组中的最后一个数组

我的循环函数填充数组$workshops,如下所示

    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'));
欢迎指点

问候,


只需编辑循环

就可以继续重新定义初始数组。尝试在while循环之前放置$workshops数组

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

用你正在使用的语言标记你的问题。你到底有什么问题?你想做什么?你需要展示更多的循环代码。显示的示例看起来不是罪魁祸首。您是否在下面的代码示例中设置或获取数组?您是否在循环之前初始化了$workshops变量?aarggh,pff您是如此正确。在代码的某一部分上主演的时间太长。德克萨斯州