使用递增变量重复HTML元素

时间:2015-01-23 20:30:36

标签: php html wordpress advanced-custom-fields

我目前有一个简单的HTML列表。我想要的是重复这个列表项,每个重复的元素都有一个变量,每次重复都会增加一个。

我在上面的列表项中包含的php调用来自WordPress上的高级自定义字段插件。我想要改变的变量是那些php调用中的数字。

<ul>
 <li>

  <?php the_field('vendor_1_name'); ?> <!--the number is the variable that i want to increase by one with each repition-->
  <a href="http://<?php the_field('vendor_1_url'); ?>" target="_blank"/>
    <?php the_field('vendor_1_url'); ?>
  </a>

 </li>

</ul>

我知道如何使用数组做到这一点,但我很想听听其他方法如何做这样的事情。谢谢!

2 个答案:

答案 0 :(得分:3)

<ul>
  <?php for ($z = 0; $z < $n; $z++) : ?>
  <li>
     <?php the_field('vendor_'.$z.'_name'); ?>
     <a href="http://<?php the_field('vendor_'.$z.'_url'); ?>" target="_blank">
        <?php the_field('vendor_'.$z.'_url'); ?>
     </a>
   </li>
   <?php endfor; ?>
</ul>

$n是其应迭代的次数。

答案 1 :(得分:1)

使用for循环。如果你有一个项目数组(你是从数据库中获取供应商吗?),只需遍历数组:

<?php

// fetch values and define $vendors
// using sql is highly recommended

echo "<ul>\n";

for ($i = 0; $i < count($vendors); $i++) {
    echo "<li><a href='".$vendors[$i]['vendor_url']."'>".$vendors[$i]['vendor_name']."</a></li>\n";
}

echo "</ul>\n";

?>

请注意,数组会说vendor_name而不是vendor_1_name,因为该字段的名称不会包含迭代。