【问题标题】:PHP loop through arrays inside arrayPHP循环遍历数组内的数组
【发布时间】:2018-10-08 13:44:47
【问题描述】:

我试图遍历一个数组,该数组由几个数组组成,每个数组都有 2 个属性,另一个数组具有不同数量的属性。 我正在尝试使用 foreach 输出最后一个数组的所有属性。

 $gallery = array(
    array(
        'title' => 'HaPartizanim',
        'file' => './assets/cubes/HaPartizanim.png',
        $slides => array(
            'slide1' => './assets/pop-up/HaPartizanim-1.png',
            'slide2' => './assets/pop-up/HaPartizanim-2.png',
            'slide3' => './assets/pop-up/HaPartizanim-3.png',
            'slide4' => './assets/pop-up/HaPartizanim-4.png'
        )
    ),
    array(
        'title' => 'Toro House',
        'file' => './assets/cubes/Toro_House.png',
        $slides => array(
            'slide1' => './assets/pop-up/Toro_House-1.png',
            'slide2' => './assets/pop-up/Toro_House-2.png',
            'slide3' => './assets/pop-up/Toro_House-3.png'
        )
    ),
    array(
        'title' => 'HaAgana',
        'file' => './assets/cubes/HaAgana.png',
        $slides => array(
            'slide1' => './assets/pop-up/HaAgana-1.png',
            'slide2' => './assets/pop-up/HaAgana-2.png',
            'slide3' => './assets/pop-up/HaAgana-3.png',
            'slide4' => './assets/pop-up/HaAgana-4.png'
        )
    ),
    array(
        'title' => 'Har HaCarmel',
        'file' => './assets/cubes/Har_HaCarmel.png',
        $slides => array(
            'slide1' => './assets/pop-up/Har_HaKarmel-1.png',
            'slide2' => './assets/pop-up/Har_HaKarmel-2.png',
            'slide3' => './assets/pop-up/Har_HaKarmel-3.png',
            'slide4' => './assets/pop-up/Har_HaKarmel-4.png',
        )
    ),
    array(
        'title' => 'Kohvei Itzhak',
        'file' => './assets/cubes/Kohvei_Itzhak.png',
        $slides => array(
            'slide1' => './assets/pop-up/Kohvei_Itzhak-1.png',
            'slide2' => './assets/pop-up/Kohvei_Itzhak-2.png'
        )
    )
);

到目前为止我没有工作的是

foreach($gallery as $key => $slides){
  foreach($slides as $key => $slide){
            $slide1 = $slide['slide1'];
            $slide2 = $slide['slide2'];
    echo $slide1, $slide2 . "<br/>";
  }
}   

感谢您的帮助,抱歉英语不好。

【问题讨论】:

  • 你有一个错字。使用. 连接$slide1 和$slide2,而不是逗号,
  • $slides =&gt; array( 无效
  • 期望的输出是什么?您想要列表中的所有“slideX”数据吗?按“标题”排序?正如 GrumpyCrouton 提到的那样:你的 php 数组中不能有 var $slides,它应该是 slides =&gt; array(...) 否?
  • 我想要所有的幻灯片。每张幻灯片都有一个 div

标签: php arrays loops foreach


【解决方案1】:

首先,$slides =&gt; array( 是无效的语法。我假设您实际上是指'slides' =&gt; array( - 如果这是真的,下面的代码将使用implode() 列出每个数组中的所有属性。

foreach($gallery as $key => $slides){
    echo implode(', ', $slides['slides']) . "<br>";
}

如果您想对每张幻灯片进行额外处理,请像这样循环:

foreach($gallery as $key => $slides){
    foreach($slides['slides'] as $sub_key => $slide) {
        echo "<div>Key: $sub_key<br>Slide: $slide</div>";
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-23
    • 2012-11-14
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 2011-06-11
    • 2013-02-06
    相关资源
    最近更新 更多