如何在数组上修剪foreach的输出

时间:2014-08-03 11:22:38

标签: php wordpress loops foreach

我有一系列Wordpress-Categories。我想要的是输出他们的名字,用逗号分隔。 - 像这样:

category1, category2, category3, category4, category5, ...

我试过这个foreach循环:

foreach ($category as $cat){
  $catList = $cat->name.', ';
  echo $catList ;
}

但输出如下:category1, category2, category3,

正如你所看到的,最后有一个逗号,我不想要。

这将如何运作?

4 个答案:

答案 0 :(得分:1)

一个简单的built-in function

$catList = implode(", ", $category);

答案 1 :(得分:1)

这是一个简单的方法,就在我的头顶:

$firstitem=1;
foreach ($category as $cat) {
    if ($firstitem == 1) {
        $firstitem = 0;
    } else {
        $catList .= ', ';
    }
    $catList .= $cat->name;
}
echo $catList ;

当然,您可以只回显逗号和名称值而不保存它们。我是这样做的,以防你想用catList字符串做其他事情。

答案 2 :(得分:0)

你这样做是正确的,但你不需要在循环中使用它, 在for循环结束后只有一次

for(.....){

}
$catlist= rtrim($catlist, ', ');

答案 3 :(得分:0)

我的解决方案如下:(未经测试)

for ($i = 0; $i < count($category); $i++) {
  echo $category[$i]->name;
  echo ($i - 1 < count($category)) ? ', ' : '';
}

除了$i - 1之外的所有元素都小于类别数组的长度时,这将只输出逗号。这意味着在所有元素之后,除了最后一个元素。