我有一个从网络服务电话返回给我的数组。该数组如下所示:
$flights_data = array
(
'departure_trip_data' => array
(
0 => array('departure_date'=>'Mar 25, 2015', 'ticket_class'='Y'),
1 => array('departure_date'=>'Mar 25, 2015', 'ticket_class'='B'),
2 => array('departure_date'=>'Mar 25, 2015', 'ticket_class'='H'),
),
'return_trip_data' => array
(
0 => array('departure_date'=>'Mar 28, 2015', 'ticket_class'='Y'),
1 => array('departure_date'=>'Mar 28, 2015', 'ticket_class'='B'),
2 => array('departure_date'=>'Mar 28, 2015', 'ticket_class'='K'),
)
);
我正在处理它:
<?php
$departure_trips = $flight_data['departure_trip_data'];
$return_trips = $flight_data['return_trip_data'];
?>
<?php for($i = 0; $i < count($departure_trips); $i++): ?>
<?php
$curr_departure_trip = $departure_trips[$i];
$curr_return_trip = $return_trips[$i];
?>
<td>Departure Date : <?php echo $curr_departure_trip['departure_date']; ?></td>
<td>Return Date : <?php echo $curr_return_trip['departure_date']; ?></td>
<td>Ticket Class : <?php echo $curr_departure_trip['ticket_class']; ?> </td>
<!-- long lines of plain HTML code goes here -->
<?php endfor; ?>
我的问题是:如何仅显示ticket_class
数组和departure_trip_data
数组中return_trip_data
值相同的情况下的数据?非常感谢任何帮助。
答案 0 :(得分:1)
好的,在你的问题更新之后,我想你不想把整个HTML块包装在if-block中。为了避免这种情况,只需将其转过来:
if($curr_departure_trips['ticket_class'] != $curr_return_trips['ticket_class'])
continue;
这样,如果票证类别不同,则转到下一行。
答案 1 :(得分:0)
好吧,如果我做对了,
for($i = 0; $i < count($departure_trips); $i++)
{
$curr_departure_trip = $departure_trips[$i];
$curr_return_trip = $return_trips[$i];
if($curr_departure_trips['ticket_class'] == $curr_return_trips['ticket_class']) {
echo '<td>Departure Date : '. $curr_departure_trip['departure_date']. '</td>';
echo '<td>Return Date : '. $curr_return_trip['departure_data']. '</td>';
echo '<td>Ticket Class : '. $curr_departure_trip['ticket_class']. '</td>';
}
}
答案 2 :(得分:-1)
您可以使用嵌套循环遍历数组并逐个比较,如果找到匹配则处理它