Я печатаю набор слов, который помещается в базу данных 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-, ";
Как вы могли себе представить, это не печатало много (но по крайней мере это не оставило меня с пустой страницей …)
Обычно я делаю это, сначала помещая результаты в массив
$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
Я бы сделал:
$keywords = array(); while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC)) { $keywords[] = $row0['LCASE(ord)']; } echo implode(',', $keywords);
substr($string, 0, -1);
Это удаляет последний символ.