如何在php中更改foreach?

时间:2013-07-02 18:46:30

标签: php foreach

我编辑了一些代码,foreach循环将两次回显值。我知道为什么,但我不知道如何将其中一个foreach转换为变量?还是字符串?

foreach( $attendee_datas[$EM_Ticket_Booking->ticket_id] as $attendee_title => $attendee_data ){
    $attendees = $EM_Booking->booking_meta['attendees']; 
    foreach($attendees as $key => $value) {
        foreach($value as $value_attendee) {
            echo $value_attendee["attendee_fname"]." ".$value_attendee["attendee_lname"] . "\r\n";
        }
        }
    }

2 个答案:

答案 0 :(得分:0)

$ attendee_datas [$ EM_Ticket_Booking-> ticket_id]和$ EM_Booking-> booking_meta ['与会者']会为您提供相同的数据吗?如果确实如此,我会像这样重写它:

$EM_Tickets_Bookings = $EM_Booking->get_tickets_bookings();
$attendee_datas = EM_Attendees_Form::get_booking_attendees($EM_Booking);
foreach( $EM_Tickets_Bookings->tickets_bookings as $EM_Ticket_Booking ){
//Display ticket info
if( !empty($attendee_datas[$EM_Ticket_Booking->ticket_id]) ){
echo "\r\n". __('<strong>','em-pro').     $EM_Ticket_Booking->get_ticket()->ticket_name ."</strong>\r\n". '';
//display a row for each space booked on this ticket
foreach( $attendee_datas[$EM_Ticket_Booking->ticket_id] as $attendee_title => $attendee_data ){
        echo $attendee_data["attendee_fname"]." ".$attendee_data["attendee_lname"] . "\r\n";
    }
}

}

答案 1 :(得分:0)

基于编辑过的代码:

foreach( $attendee_datas[$EM_Ticket_Booking->ticket_id] as $attendee_title => $attendee_data ){
$attendees = $EM_Booking->booking_meta['attendees'];
$attendee_count = 0; 
foreach($attendees as $value) {
    foreach($value as $value_attendee) {
        $attendee_info[$attendee_count] = $value_attendee["attendee_fname"]." ".$value_attendee["attendee_lname"] . "\r\n";
    }
     ++$attendee_count;
    }
foreach($attendee_info as $attending)
{
  echo $attending;
}

}