【问题标题】:How do I implode this ACF array with commas如何用逗号内爆这个 ACF 数组
【发布时间】:2019-05-20 05:58:22
【问题描述】:

我想显示一个用逗号分隔的链接项目列表,不包括最后一个项目的逗号。我似乎无法正确使用语法

<?php  $prerequisite = get_field('prerequisites'); ?>
<?php if( $prerequisite ):  ?>
    <li> Prerequisites: 

    <?php foreach( $prerequisite as $prerequisites ): ?>

    <a href="<?php echo get_permalink( $prerequisites->ID ); ?>"><?php echo get_the_title($prerequisites->ID ); ?></a>
    <?php endforeach; ?>

    </li>

<?php endif; ?>

【问题讨论】:

  • 您可以为此使用计数器变量。您需要使用两个变量。 $lengh 使用count($prerequisite) 具有$prerequisite 中的数组总数,其他变量为$counter,默认设置为1。检查$counter$length,如果它们相同,则不显示逗号,否则显示为逗号并在循环中将$counter 递增1。其他选项是使用implode() 函数。

标签: php wordpress advanced-custom-fields


【解决方案1】:

试试这个代码

使用 trim 函数逗号值管理,您可以在此处找到 trim 函数详细信息:https://www.w3schools.com/php/func_string_trim.asp

<?php 
$prerequisite = get_field('prerequisites');
if( $prerequisite ):  
  ?>
  <li> Prerequisites: 
  <?php 
  $nvtest = "";
  foreach( $prerequisite as $prerequisites ): 
      $nvtest.='<a href="'.get_permalink( $prerequisites->ID ).'">'.get_the_title($prerequisites->ID ).'</a> ,';
  endforeach; 
  echo trim($nvtest," ,");
  ?>
  </li>
<?php endif; ?>

【讨论】:

  • 试试这个代码更好的解释会有所帮助。
  • 我的代码有什么问题?为什么我的回答是反对票?投票者请告诉我
  • 上面有一个由 Nigel 发布的解释。
  • 这行得通,但由于某种原因它输出了两次,一次没有逗号,然后一次用逗号
  • @StephanieOrtiz 什么是两次输出详细解释
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-13
  • 1970-01-01
  • 2020-02-21
  • 1970-01-01
  • 2018-04-07
  • 2021-06-01
  • 2014-09-14
相关资源
最近更新 更多