возобновить foreachloop после увеличения выпадающего меню php bootstrapp - PullRequest
0 голосов
/ 27 мая 2018

Вопрос вкратце: я хочу вывести массив: 0, 1, 2, затем разбить, повторить что-то, вывести 3,4,5 и сохранить это в цикле.

Здравствуйтевсе, кого я работаю на динамическом php-сайте с начальной загрузкой 4 и php, чтобы практиковать язык.К сожалению, я сейчас застрял, так как не знаю, как создать что-то похожее на алгоритм.Хорошо поговорим и давайте перейдем к коду:

файл nav.php

<ul class="navbar-nav">
<li class='nav-item dropdown'>
  <a class='nav-link dropdown-toggle' data-toggle='dropdown' datatarget='dropdown_target' href='#'>
    <span class='caret'></span>Dropdown
    </a>
    <div class="dropdown-divider"></div>
    <div class="dropdown-menu" aria-labelledby="dropdown_target">
      <!-- <a class="dropdown-item">Dropdown</a> -->
      <?php
      $i=0;
      foreach ($dropItems as $item ) {

        echo "<a class='dropdown-item' href=\"$item[slug]\">$item[title] </a>";
        $i++;
        if($i==1) break;
        echo "<a class='dropdown-item'>Dropdown</a>";

      }
       ?>
    </div>
    </li>
</li>


  <?php
    foreach ($navItems as $item ) {
      echo "<li class='nav-item'> <a class='nav-link' href=\"$item[slug]\">$item[title]</a> </li>";
    }


   ?>

</ul>

arrays.php

<?php
  //Navigatie menu items
  $navItems = array(

                array(
                  "slug" => "index.php",
                  "title" => "home"
                ),
                array(
                  "slug" => "contact.php",
                  "title" => "Contact"
                ),
                array(
                  "slug" => "market.php",
                  "title" => "Marketplace"
                ),
              );

              $dropItems = array(

                            array(
                              "slug" => "#",
                              "title" => "Lps"
                            ),
                            array(
                              "slug" => "#",
                              "title" => "Sps"
                            ),
                            array(
                              "slug" => "market.php",
                              "title" => "Marketplace"
                            ),
                          );
 ?>

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Благодаря Андреасу я начал работать по его методу

$ chunks = array_chunk ($ dropItems, 2);

      Foreach($chunks as $chunk){
          Foreach($chunk as $item){
              echo "<a class='dropdown-item' href=\"$item[slug]\">$item[title] </a>";
          }
          Echo "<div class='dropdown-divider'></div>";
        }
0 голосов
/ 27 мая 2018

Вы можете использовать array_chunk, чтобы разбить массив на части по три и foreach, вложенный с echo "something";.

Не могу видеть в вашем коде, где находится это эхо из трех, поэтому я просто сделал пример того, как это сделать.

$arr = range(1,12); //example array

$chunks = array_chunk($arr, 3);

Foreach($chunks as $chunk){
    Foreach($chunk as $val){
        Echo $val ." ";
    }
    Echo "\nsomething\n";
}

https://3v4l.org/0VlN0

...