在foreach上添加分隔符的计数器

时间:2015-11-11 10:18:38

标签: php wordpress foreach

我有一个foreach在Wordpress上的帖子中添加术语哪个很好用。代码如下:

<h3>
<?php foreach($terms as $term) {?>
    <?php echo $term->name;?>
<?php } ?>
</h3>

但是我需要添加一个计数器,这样如果<h3>中有多个术语,它就会在它们之间添加一个/。例如:

<h3>Term Name</h3>
<h3>Term Name / Term Name / Term Name</h3>

这是我到目前为止的代码,但它不起作用。

        <?php
        $i = 1;
        foreach($terms as $term) {

        if($i == 1){ 
         echo ' / '.$term->name;
        } else { 
            echo $term->name;
        }   
        $i++;  
        } ?>

4 个答案:

答案 0 :(得分:3)

您不需要使用计数器。只需将每个$term->name放入一个数组中,然后将其内爆:

echo implode(' / ', array_map(function($term) { return $term->name; }, $terms));

Here's a demo

答案 1 :(得分:0)

请尝试以下代码。

<?php $terms = array_values($terms); 
if( sizeof($terms) > 1){ ?>
        <h3><?php echo  implode(' / ', array_map(function($term) { return $term->name; }, $terms)); ?></h3>
<?php }else{ $term = $terms[0]; ?>
            <h3>echo $term->name;</h3>
<?php } ?>

答案 2 :(得分:0)

<?php
    $i = 1;
    foreach($terms as $term) {  
        if($i > 1) { 
            echo ' / '.$term->name;
        } else { 
            echo $term->name;
            $i++; 
        } 
    }
?>

答案 3 :(得分:0)

以下是工作解决方案:)

{{1}}