Создать HTML-элементы в цикле - PullRequest
2 голосов
/ 23 августа 2011

Учитывая число, например, то есть: 6 Мне нужно сгенерировать 6 DIV элементов.
Например:

$number = 6;
// PHP generates the DIV for $number of times (6 in this case).

Как я могу это сделать? Я не эксперт по циклам PHP, если это так. Спасибо!

Ответы [ 6 ]

4 голосов
/ 23 августа 2011

Пример использования различных типов циклов, которые вы можете использовать. Надеюсь, вы сможете увидеть, как они работают.

цикл по каждому элементу

    $element = "<div></div>";
    $count = 6;
    foreach( range(1,$count) as $item){
        echo $element;
    }

В то время как цикл

   $element = "<div></div>";
   $count = 0;
   while($count < 6){
       $count++;
       echo $element;
   }

Simple For Loop

$element = "<div></div>"; 
$count = 6;
for ($i = 0; $i < $count; $i++) {
    echo $element;
}
0 голосов
/ 04 марта 2019

Для создания 6 элементов div необходим цикл.

используя цикл while:

$count = 1;
while($count <= 6){
    $count++;
    echo "<div></div>";
}

используется для цикла:

$count = 6;
for ($i = 0; $i < $count; $i++) {
    echo "<div></div>";
}
0 голосов
/ 04 марта 2019

Вот несколько примеров, которые я часто использую для быстрого макетирования повторяющегося HTML при работе с PHP

array_map() с индексом итерации и диапазоном

$html = function($i) {
  echo "
  <section class=\"fooBar\">
    The $i content
  </section>
  ";
};

array_map($html, range(0, 5));

Если надоело избегать двойных кавычек \" или использовать ' или ад конкатенации , вы можете просто использовать Heredoc .

$html = function($i) {
echo <<<EOT
  <section class="fooBar">
    The $i content
  </section>
EOT;
};

array_map($html, range(1, 6));

Единственный небольшой «недостаток» использования Heredoc заключается в том, что закрывающий EOT; не может иметь начальные и следующие пробелы или табуляции - что может выглядеть некрасиво в хорошо структурированной разметке,поэтому я часто размещаю свои функции поверх документа и использую <?php array_map($html, range(0, 5)) ?> там, где это необходимо.

str_repeat(), когда индекс не нужен

$html = "
  <section class='fooBar'>
    Some content
  </section>
";

echo str_repeat($html, 6);
0 голосов
/ 23 августа 2011
for ($i = 0; $i < 6; $i++) {
    echo "<div class=\"example\"></div>";
}

Обратите внимание, что идентификаторы (часть #) должны быть уникальными на странице, поэтому вы не можете иметь 6 различных div с одинаковым #example id.

http://php.net/manual/en/control-structures.for.php

0 голосов
/ 23 августа 2011
function generateDIVs($number)
{
  for ($i = 0; $i <= $number; $i++)
  {
    echo "<div><div/>";
  }
}
0 голосов
/ 23 августа 2011

вам нужна команда echo. По сути, вы генерируете html, печатая строку. Пример

echo '<div> </div>';

сгенерирует 1 деление. Вам это нужно 6 раз. Вы также можете использовать цикл, но это слишком простой вопрос, и я дал вам старт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...