[英]Need help adjusting PHP code, need commas after all terms except the last
我不太了解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>';
}
?>
您可以使用非常方便的功能implode
功能来做到这一点:
echo implode(", ", $terms);
在循环期间将行保存到变量,然后在打印前删除最后一个字符。 不是最优雅的解决方案,但它可以工作
<?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>';
}
?>
您可以使用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, ',');
}
?>
您可以使用它从整个字符串的开头和结尾删除字符串。
您可以在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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.