需要帮助调整PHP代码,除了最后一项之外的所有术语都需要逗号

时间:2015-06-23 14:48:42

标签: php wordpress

我不太了解PHP,但我尝试在下面调整此代码。除了最后一个,我希望所有条款都有逗号。现在输出如下:

受众: 学前,高中,成人,

但我需要它看起来像这样:

受众群体: 学前,高中,成人

我意识到有类似的问题已经回答了这个问题,但由于我对PHP无能为力,我不知道如何将这些解决方案与我已有的代码结合起来。有人可以帮忙吗?

提前致谢!

<?php 
$terms = get_terms( 'Audience' );
 if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
     echo '<p><strong>Audience:</strong> ';
     foreach ( $terms as $term ) {
       echo '' . $term->name . ', ';

     }
     echo '</p>';
 }
?>

5 个答案:

答案 0 :(得分:4)

您可以使用非常方便的功能implode执行此操作:

echo implode(", ", $terms);

答案 1 :(得分:0)

在循环期间将行保存到变量,然后在打印之前删除最后一个字符。不是最优雅的解决方案,但它的工作原理

答案 2 :(得分:0)

<?php 
$terms = get_terms( 'Audience' );
 if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
     echo '<p><strong>Audience:</strong> ';
     $len = count($terms);
     $i = 0;
     foreach ( $terms as $term ) {
       i++;
       echo '' . $term->name . ($i < $len  ? ', ' : '');

     }
     echo '</p>';
 }
?>

答案 3 :(得分:0)

您可以使用trim()http://ar2.php.net/trim

$string = '';
$terms = get_terms( 'Audience' );
 if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
     $string .= '<p><strong>Audience:</strong> ';
     foreach ( $terms as $term ) {
       $string .= '' . $term->name . ', ';

     }
     $string .= "</p>";
     echo trim($string, ',');
 }
?>

您可以使用它从整个字符串的开头和结尾删除字符串。

答案 4 :(得分:0)

你可以在foreach循环中计算;

$i = 1;
foreach ( $terms as $term ) {
    echo '' . $term->name;
    if ($i < count($terms)) {
        echo ', ';
    }
    $i++;
}

或者您只需将其全部加载到变量中,然后关闭最后一个逗号和空格。

$output = '';
foreach ( $terms as $term ) {
    $output .= $term->name . ', ';
}
echo substr($output,0,-2);