for($i = 0; $i < count($all_events); $i++) {
$temp_event = $this->model_events->find_event($all_events[$i]['event_id']);
$data['attending_events'][$i]['event_id'] = $temp_event[0]['event_id'];
//return everything from the ticket table based on the event id
$ticket_data = $this->model_tickets->get_ticket_owner($data['attending_events'][$i]['event_id']);
for($j = 0; $j < count($ticket_data); $j++) {
$data['attending_events'][$i]['tickets'][$j] = $ticket_data[$j];
}
$data['attending_events'][$i]['e_name'] = $temp_event[0]['e_name'];
$data['attending_events'][$i]['e_date'] = $temp_event[0]['e_date'];
$data['attending_events'][$i]['e_price'] = $temp_event[0]['e_pricetemp'];
$data['attending_events'][$i]['e_is_address_hide'] = $temp_event[0]['e_is_address_hide'];
}
我是php的新手,我对变量结构感到非常困惑。正如您在上面的代码中看到的,有一个名为$data
的变量。这是我不理解的变量。
首先,在$data['attending_events']
中,attending_events
是一个索引,就像数组[0]或其他东西一样?
$i
中的$data['attending_events'][$i]['e_price']
号码是多少?
最后这是'$data['attending_events'][$i]['tickets'][$j]'
是什么?这是另一层吗?
我熟悉C ++。这是$data
变量,类似于多维数据向量?
答案 0 :(得分:1)
是的,$ data是一个多维数组。正如Rizier123告诉你的那样,做一个print_r($data)
,并在浏览器中使用“查看页面源”命令来查看整个层次结构是否正确缩进。
如果您需要有关每个元素的更多信息(例如类型),请使用var_dump($data)
。
如果您熟悉C ++,您可能会担心它的分配方式,它有多少维度等等。但是,它完全是动态的。您可以通过设置值来创建新的元素和尺寸,如下所示:
$data['attending_events'][$i]['tickets'][$j][1]['another dimension']['yet another one'] = 10;