如果有的话,我有一个关于循环的问题。目前我的代码如下所示:
$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循环以检查最后一个。我考虑使用计数器,但我不确定它的效果如何。由于我有几个这样的循环,它们彼此依赖,如果可能的话,我想继续在那里循环。
有没有人对一个好的方法有任何建议(如果有人有一个很好的例子)? 非常感谢提前!
答案 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);