doumanshan6314 2018-10-08 13:44
浏览 44
已采纳

PHP循环遍历数组内的数组

Im trying to loop through an array that is made from a couple of arrays that each has 2 properties and another array with diffrent number of properties. im trying to output all the properties of the last array using 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'
        )
    )
);

what i have so far and is not working is

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

Thanks for the help and sorry for bad english.

  • 写回答

1条回答 默认 最新

  • drtoaamk20278 2018-10-08 13:49
    关注

    First of all, $slides => array( is invalid syntax. I will assume you actually meant 'slides' => array( - if that's true, the following code will list all of the properties from each array using implode().

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

    If you want to do additional processing for each slide, loop through like this:

    foreach($gallery as $key => $slides){
        foreach($slides['slides'] as $sub_key => $slide) {
            echo "<div>Key: $sub_key<br>Slide: $slide</div>";
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作