循环,最后一个条目的单独价格(最简单的解决方案)

时间:2014-03-23 17:41:19

标签: php mysql

如果有的话,我有一个关于循环的问题。目前我的代码如下所示:

    $rtitle = "SELECT title FROM table WHERE genre='$category'";
    $ptitles = mysqli_query($connection,$rtitle) or die(mysqli_error($connection));
        while ($title2 = mysqli_fetch_object($ptitles));
        printf('"name": "%s",', $title2->title);

正如您在最后一行中所看到的,在标题后面会打印一个逗号。 但是,我希望最后一个条目最后没有逗号。

目前我在考虑使用哪些选项。我认为if语句,但是,我不知道如何制定if循环以检查最后一个。我考虑使用计数器,但我不确定它的效果如何。由于我有几个这样的循环,它们彼此依赖,如果可能的话,我想继续在那里循环。

有没有人对一个好的方法有任何建议(如果有人有一个很好的例子)? 非常感谢提前!

2 个答案:

答案 0 :(得分:1)

您可以使用PHP内置函数implode

string implode ( string $glue , array $pieces )

Join array elements with a glue string. 

php.net/manual/en/function.implode.php

$names = array();
while ($title2 = mysqli_fetch_object($ptitles)) {
   $names[] = sprintf('"name": "%s"', $title2->title);
}
echo implode(',', $names);

答案 1 :(得分:0)

你可以在每次迭代时将标题推送到一个数组中,然后在循环之后将数组内爆:

echo implode(',', $array);