【问题标题】:Repeating an HTML element with incrementing variables使用递增变量重复 HTML 元素
【发布时间】:2015-03-22 23:36:41
【问题描述】:

我目前有一个简单的 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>

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

【问题讨论】:

标签: php html wordpress advanced-custom-fields


【解决方案1】:
<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 是它应该迭代的次数。

【讨论】:

  • 这正是我想要的。有没有办法将第一个 for 变量声明为全局变量?我有一些类似的列表,我想使用它,并且为每个列表声明不同的变量似乎毫无意义,这些变量基本上在做同样的事情。感谢您的回答!
  • 【解决方案2】:

    使用 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,因为该字段的名称中不会包含迭代。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签