PHP中如何从主数组中拆分或获取子数组的值
我想从main获取子数组的值。下面是我的数组PHP中如何从主数组中拆分或获取子数组的值,php,arrays,loops,foreach,php-7,Php,Arrays,Loops,Foreach,Php 7,我想从main获取子数组的值。下面是我的数组 [tour_avaibility] => Array ( [tour_avaibility_location] => Array ( [Location_one] => Location_two [Location_seven] => Location_nine
[tour_avaibility] => Array
(
[tour_avaibility_location] => Array
(
[Location_one] => Location_two
[Location_seven] => Location_nine
)
[tour_avaibility_date] => Array
(
[02/11/2020] => 02/17/2020
[02/21/2020] => 02/26/2020
)
)
我只想通过一个循环获得'tour\u availability\u location'
&tour\u availability\u date
值。我使用了下面的代码,但它重复了这个值
<?php
foreach ($tourAvaibilityDate['tour_avaibility'] as $key => $value) {?>
<div class="other-tag justify-content-between">
<?php
foreach ( array_unique($tourAvaibilityLocation['tour_avaibility']['tour_avaibility_location'] ) as $k => $v) {?>
<div class="tag-name"><?php echo $k.$v; ?></div>
<?php }?>
<?php
foreach ( array_unique($tourAvaibilityDate['tour_avaibility']['tour_avaibility_date'] ) as $k => $v) {?>
<div class="tag-price">25 Nov 2019 - 30 Nov 2019</div>
<?php } ?>
<div class="tag-remove text-light">
<i class="fa fa-times"></i>
</div>
</div>
<?php } ?>
您需要在
$TourAvailabilityDate['tour\u Availability']
中分离每个数组的键和值;然后您可以对它们进行迭代。注意:此代码假定与位置的日期数相同:
$tours = $tourAvaibilityDate['tour_avaibility'];
$start_locations = array_keys($tours['tour_avaibility_location']);
$end_locations = array_values($tours['tour_avaibility_location']);
$start_dates = array_keys($tours['tour_avaibility_date']);
$end_dates = array_values($tours['tour_avaibility_date']);
$c = count($start_locations);
for ($i = 0; $i < $c; $i++) {
echo $start_locations[$i] . ' - ' . $end_locations[$i] . "\n";
echo $start_dates[$i] . ' - ' . $end_dates[$i] . "\n";
}
您需要在
$TourAvailabilityDate['tour\u Availability']中分离每个数组的键和值。
;然后您可以对它们进行迭代。注意:此代码假定与位置的日期数相同:
$tours = $tourAvaibilityDate['tour_avaibility'];
$start_locations = array_keys($tours['tour_avaibility_location']);
$end_locations = array_values($tours['tour_avaibility_location']);
$start_dates = array_keys($tours['tour_avaibility_date']);
$end_dates = array_values($tours['tour_avaibility_date']);
$c = count($start_locations);
for ($i = 0; $i < $c; $i++) {
echo $start_locations[$i] . ' - ' . $end_locations[$i] . "\n";
echo $start_dates[$i] . ' - ' . $end_dates[$i] . "\n";
}
只需将2019年11月25日至2019年11月30日期间的
$v
就像您对位置所做的一样,我已经尝试过不起作用,它的输出是“位置一-位置二02/11/2020-02/17/2020位置七-位置九02/21/2020-02/26/2020”位置一-位置二02/11/2020-02/17/2020位置七-位置九02/21/2020-02/26/2020。这是相同的值。这能回答你的问题吗@RaviMakwana,不,我也尝试创建一个与@Nick相同的演示,所以这里您只需将2019年11月25日-2019年11月30日
替换为$k.-”$v
就像您对位置所做的一样,我已经尝试过不起作用,它的输出是“位置一-位置二02/11/2020-02/17/2020位置七-位置九02/21/2020-02/26/2020”位置一-位置二02/11/2020-02/17/2020位置七-位置九02/21/2020-02/26/2020。这是相同的值。这能回答你的问题吗@RaviMakwana,不,我也在尝试创建一个与@Nick相同的演示,所以你可以在这里have@David不用担心-我很高兴我能帮上忙。@David不用担心-我很高兴我能帮上忙。
Location_one - Location_two
02/11/2020 - 02/17/2020
Location_seven - Location_nine
02/21/2020 - 02/26/2020