PHP цикл по массивам внутри массива - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь перебрать массив, состоящий из пары массивов, каждый из которых имеет 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/>";
  }
}   

Спасибо за помощь и извините за плохойанглийский.

1 Ответ

0 голосов
/ 08 октября 2018

Прежде всего, $slides => array( неверный синтаксис.Я предполагаю, что вы действительно имели в виду 'slides' => 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>";
    }
}
...