我不太了解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>';
}
?>
答案 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);