按子数组分组

I have the following array:

 $tickets[] = array( 'event_id', 'ticket_name','holder_name', 'order_id', 'ticket_id', 'security_code')

I want to be able to group the output by the 'event_id' and get:

Event_ID 1 
         -> Ticket ID 1 ......
         -> Ticket ID 2 .....
Event_ID 2
         -> Ticket ID 3......

I have got this so far:

 foreach ($tickets as $key =>  $event ) {
        $tickets[$key]['event_id'] = $event;

Does this look correct?

Thanks

Edit: Integrated solution 1.

`

<?php
    do_action( 'tribe_tickets_ticket_email_top' );
    $groupedEvents = array();               
foreach($tickets as $key => $ticket)
{
    $groupedEvents['Event_ID_'.$ticket['event_id']][] = $ticket['ticket_id'];

    if ( function_exists( 'tribe_get_venue_id' ) ) {
            $event      = get_post( $groupedEvents['Event_ID'] );
            $venue_id = tribe_get_venue_id( $event->ID );
            if ( ! empty( $venue_id ) ) {
            $venue = get_post( $venue_id );
            }
            $venue_label = tribe_get_venue_label_singular();
            $venue_name = $venue_phone = $venue_address = $venue_city = $venue_web = '';
            if ( ! empty( $venue ) ) {
                $venue_name    = $venue->post_title;
                $venue_phone   = get_post_meta( $venue_id, '_VenuePhone', true );
                $venue_address = get_post_meta( $venue_id, '_VenueAddress', true );
                $venue_city    = get_post_meta( $venue_id, '_VenueCity', true );
                $venue_web     = get_post_meta( $venue_id, '_VenueURL', true );
            }

        }

<?php echo $venue_name; ?>
<?php  echo $venue_address; ?>
<?php  echo $venue_city; ?>
<?php  echo $venue_phone; ?>
<a href="<?php  echo esc_url( $venue_web ) ?>" ><?php  echo $venue_web; ?></a>
}    
<?php  esc_html_e( 'Ticket #', 'event-tickets' ); ?>  <?php  echo $groupedEvents['ticket_id']; ?>          
 <?php  esc_html_e( 'Ticket Type', 'event-tickets' ); ?>            
<?php  echo $groupedEvents['ticket_name']; ?>
<?php  echo $groupedEvents['holder_name']; ?>
<?php  esc_html_e( 'Security Code', 'event-tickets' ); ?>
<?php  echo $groupedEvents['security_code']; ?>  
    ?>`

You can group event ticket id's as given in the following code, just make a new array and push ticket id into the corresponding event id in the array...

$tickets = array( 
                    0=> array( 'event_id'=>1,'ticket_name'=>'a','holder_name'=>'w','ticket_id'=>11),
                    1=> array( 'event_id'=>2,'ticket_name'=>'b','holder_name'=>'x','ticket_id'=>22),
                    2=> array( 'event_id'=>1,'ticket_name'=>'c','holder_name'=>'y','ticket_id'=>33),
                    3=> array( 'event_id'=>2,'ticket_name'=>'d','holder_name'=>'z','ticket_id'=>44)
                );

$groupedEvents = array();               
foreach($tickets as $key => $ticket)
{
    $groupedEvents['Event_ID_'.$ticket['event_id']][] = $ticket['ticket_id'];
}               
echo "<pre>"; print_r($groupedEvents);

This will give you :

Array
(
    [Event_ID_1] => Array
        (
            [0] => 11
            [1] => 33
        )

    [Event_ID_2] => Array
        (
            [0] => 22
            [1] => 44
        )

)

If any question just comment, I'll be there ...