1

我正在打印一组放在 MySQL 数据库中的单词,我正在使用 PHP 检索它。我想将它呈现为一个逗号分隔的列表,但我不需要它来打印或删除最后一个逗号。我怎么能这样做?

我确实尝试过使用rtrim,但我可能做得不对。这是我今天的代码:

<?php

$query0  = "SELECT LCASE(ord) FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);

while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
$keyword = $row0['LCASE(ord)'];

echo "$keyword, ";
?>

我确实尝试过使用rtrim,我的尝试是这样的(我可能老实说我在这方面处于领先地位;))

$keyword = $row0['LCASE(ord)'];
$keywordc = "$keyword, ";
$keyword- = rtrim($keywordc, ', ');
echo "$keyword-, ";

正如您可能想象的那样,这并没有打印太多(但至少它没有给我留下空白页......)

4

3 回答 3

4

我会做:

$keywords = array();
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
   $keywords[] = $row0['LCASE(ord)'];
}

echo implode(',', $keywords);
于 2012-03-21T01:03:02.433 回答
2

我通常通过先将结果放在数组中来做到这一点

$some_array = array();
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC)) {
   $some_array[] = $row0['LCASE(ord)'];
}

然后简单地说:

echo "My List: " . implode(', ', $some_array);
// Output looks something like:
My List: ord1, ord2, ord3, ord4
于 2012-03-21T01:01:54.820 回答
0
substr($string, 0, -1);

这将删除最后一个字符。

于 2012-03-21T01:01:39.703 回答