2016-08-13 79 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 
     ) 

) 

如果有任何問題,只是評論,我會在那裏...