2016-08-13 57 views
0

我有以下阵列:分组由子阵列

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

我希望能够到组输出由'event_id'并获得:

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

我有这个至今:

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

这看起来是否正确?

感谢

编辑:集成的解决方案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']; ?> 
    ?>` 
+0

这几乎没有什么意义。请显示您的整个阵列和所需的输出。 –

+0

按要求添加完整 –

回答

0

您可以将活动门票的ID如下面的代码中给出,只是做一个新的阵列和推票ID为阵列中相应的事件ID ...

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

这会给你:

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

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

) 

如果有任何问题,只是评论,我会在那里...