PHP。如何重复和修改数组元素的 HTML 代码?

标签 php

我有 $array=array("nothing","1","2","3","4","5","6","7","8","9","10"); 和一段代码作为模板:

$var=<<<EOF

$array[0]
<div>
  <!-- something else -->
  <ul>
    <li>$array[1]</li>
    <li>$array[2]</li>
    <li>$array[3]</li>
  </ul>
  <!-- something else -->
</div>

EOF;

我想在有数组元素时动态地重复和修改这段 HTML 代码。我的意思是这个结果:

$var=<<<EOF

$array[0]
<div>
  <!-- something else -->
  <ul>
    <li>$array[1]</li>
    <li>$array[2]</li>
    <li>$array[3]</li>
  </ul>
  <!-- something else -->
</div>
<div>
  <!-- something else -->
  <ul>
    <li>$array[4]</li>
    <li>$array[5]</li>
    <li>$array[6]</li>
  </ul>
  <!-- something else -->
</div>
<div>
  <!-- something else -->
  <ul>
    <li>$array[7]</li>
    <li>$array[8]</li>
    <li>$array[9]</li>
  </ul>
  <!-- something else -->
</div>
<div>
  <!-- something else -->
  <ul>
    <li>$array[10]</li>
  </ul>
  <!-- something else -->
</div>

EOF;

最佳答案

扩展@Nadav 的答案并使其变得更好:

<?php
$array = array(0);

for ($i = 1; $i < count($array); ): ?>
<div>
  <!-- something else -->
  <ul>
    <li><?php echo $array[$i++] ?></li> // i == 1, 4, 7, ....
    <li><?php echo $array[$i++] ?></li> // i == 2, 5, 8, ....
    <li><?php echo $array[$i++] ?></li> // i == 3, 6, 9, ....
  </ul>
  <!-- something else -->
</div>
<?php endfor; ?>

但是如果 2,3 不存在或 5,6 不存在等,上述将失败

更新:

此代码将正常工作:

<?php

$array = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 11, 22);

for ($i = 1; $i < count($array);): ?>
<div>
  <!-- something else -->
  <ul>
    <?php for($j = 0; $j < 3 && $i + $j < count($array); ++$j):?>
    <li><?php echo $array[$j + $i] ?></li>
    <?php endfor; $i += $j;?> 
  </ul>
  <!-- something else -->
</div>
<?php endfor; ?>

演示:http://codepad.org/LFGMkd1G

关于PHP。如何重复和修改数组元素的 HTML 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11580506/

相关文章:

php - 使用 MySQL 和 PHP 将数据插入数据库时​​出现 SQL 错误

php - 如何在特定时间之前自动将邮件发送给各个用户?

javascript - 如何将 Canvas 保存到数据库中

php - 为什么我不能在 foreach 循环中将元素插入子数组?

php - 设置mysql "search"页面

php - mysql 总库存库存

php - Paypal 权限 API。在 php 中获取基本个人数据

php - 如何从 PHP 7.4+ 中的对象中删除属性

php - 为什么 $handler 在回调中获得不同的值(value)?

php - csrf_token() 在 l5-swagger 中为空,除 GET 请求外无法执行任何请求