使用 PHP 制作 3D 关联数组



我想做的是基于MYSQL表中的列(event_id(创建一个多维关联数组。

我想要的一个例子是这个数组,而 php 代码就是我目前所拥有的

[
'event_id #1' : [{id=24, name: "Joe", code: "dsf34fsf"},{id=25,name: "Bob", code: "nlwr32"],
'event_id #2' : [{id=54, name: "Kevin", code: "sdfs"},{id=57,name: "Dan"}, code: "i5er343"]
]
//Get tickets for the event if the user bought them
$query = mysqli_query($db_conx, "SELECT id, name, event_id, code FROM tickets WHERE user_id='$user_id' ORDER BY event_id DESC");    
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
$ticket_id = $row["id"];
$code = $row["code"];
$name = $row["name"];
$event_id =  $row["event_id"];                        
$tickets[] = array($event_id => array('id' => $ticket_id, 'n' => $name, 'c' => $code));
}

你只需要改变:

$tickets[] = array($event_id => array('id' => $ticket_id, 'n' => $name, 'c' => $code));

自:

$tickets[$event_id][] = array('id' => $ticket_id, 'n' => $name, 'c' => $code);

对于示例数据,这将给出如下结果:

Array
(
[event_id #1] => Array
(
[0] => Array
(
[id] => 24
[n] => Joe
[c] => dsf34fsf
)    
[1] => Array
(
[id] => 25
[n] => Bob
[c] => nlwr32
)    
)    
[event_id #2] => Array
(
[0] => Array
(
[id] => 54
[n] => Kevin
[c] => sdfs
)    
[1] => Array
(
[id] => 57
[n] => Dan
[c] => i5er343
)    
)    
)

最新更新