如何从PHP主数组中拆分或获取子数组的值

问题描述 投票:0回答:1

我想从main获得子数组的值。以下是我的数组。

 [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_avaibility_location'tour_avaibility_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 } ?>

我想放出来..

Location_one - Location_two  02/11/2020 - 02/17/2020
Location_seven - Location_nine  02/21/2020 - 02/26/2020
php arrays loops foreach php-7
1个回答
0
投票

您需要在$tourAvaibilityDate['tour_avaibility']中分离出每个数组的键和值;那么您可以遍历它们。请注意,此代码假定日期与位置的日期相同:

$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";
}

输出(用于样本数据):

Location_one - Location_two
02/11/2020 - 02/17/2020
Location_seven - Location_nine
02/21/2020 - 02/26/2020

Demo on 3v4l.org

© www.soinside.com 2019 - 2024. All rights reserved.