Как увеличить div id с помощью php для цикла?

У меня есть следующий div. Я хотел бы иметь mydiv1 , mydiv2 и mydiv3 . Возможно ли это сделать?

Код:

 <?php for($i =1; $i <3; $i++):?> <div id="mydiv<?php $i?>" style="float:left"> <?php endfor;?> 

Удалите внутренний цикл, и вы получите только 3 div.

если вы хотите динамически назначать id в div, выполните следующие действия:

 $somearray = array( 'animal'=>'cat', 'place'=>'earth', 'food'=>'orange' ); $i=1; foreach ($somearray as $k=>$v){ echo '<div id="div'.$i.'">'. $v .'<div>'; $i++; } 

В вашем коде вы получаете 9 элементов, потому что то, что вы делаете, – это первый цикл через $somearray который 3 раза, и внутри этого цикла вы снова $somearray 3 раза, используя переменную $i so 3 * 3 = 9. и вы получаете 9 разделов.

Используйте <?php echo $i; ?> <?php echo $i; ?> вместо <?php $i?> .

Почему у вас есть 9 элементов? Потому что вы создаете девять элементов.

 $somearray = array( 'animal'=>'cat', 'place'=>'earth', 'food'=>'orange' ); foreach ($somearray as $k=>$v){ for($i=1;$i<=3;$i++){ echo '<div id="div'.$i.'">'. $v .'<div>'; } } 

Позвольте мне уточнить:

Вышеупомянутый блок кода равен этому набору кодовых блоков.

где $ somearray value = 'animal' => 'cat' делают это:

 for($i=1;$i<=3;$i++){ echo '<div id="div'.$i.'">'. $v .'<div>'; } 

а также

где $ somearray value = 'place' => 'earth' сделать это:

 for($i=1;$i<=3;$i++){ echo '<div id="div'.$i.'">'. $v .'<div>'; } 

а также

где $ somearray value = 'food' => 'orange' делают это:

 for($i=1;$i<=3;$i++){ echo '<div id="div'.$i.'">'. $v .'<div>'; } 

Все из-за этого:

 foreach ($somearray as $k=>$v){ ... } 

Вам не нужен внутренний цикл (3 x 3 = 9). Вам просто нужен счетчик, который вы увеличиваете на каждой итерации внешнего цикла:

 <?php $somearray = array( 'animal'=>'cat', 'place'=>'earth', 'food'=>'orange' ); $counter = 1; foreach ($somearray as $k=>$v){ echo '<div id="div'.$counter .'">'. $v .'<div>'; $counter++; } 

Вы должны дать, как,

 <div id="mydiv<?php echo $i;?>" style="float:left"> 

это будет работать.

 <?php for($i =1; $i <3; $i++){ echo <<<CODE <div id="mydiv$i" style="float:left;"> CODE; } ?>