Intereting Posts
Предупреждение: array_merge (): Аргумент # 1 не является массивом при обработке двух $ _POST Не выводить сообщения об ошибках формы Отменить элемент из массива $ _FILES upload Задержка при заполнении данных session.upload_progress Есть ли простой способ создания субдоменов на codeigniter? Как объединить значения из нескольких строк с одним и тем же идентификатором в запятую, разделенные уникальным идентификатором Преобразование с упрощенного на традиционный китайский PHP cURL не загружается при изменении php.ini Javascript не загружается при начальной загрузке страницы как отправить изображение в ImageView на php-сервер? Можно ли динамически определять значение свойства класса в PHP? PHP – прекратить отображение полного пути в ошибках есть ли способ изменить хэш без табличек радуги? Загрузка файла с помощью twig и Slim framework (версия 2) – PHP Разрешите только файлы .jpg и .png

Loop, отдельный процесс для последней записи (простейшее решение)

У меня вопрос о петле, если у меня есть. В настоящее время мой код выглядит так:

$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, чтобы проверить, что последнее включено. Я рассмотрел использование счетчика, однако я не уверен, насколько хорошо это работает. Поскольку у меня есть несколько таких циклов, которые зависят друг от друга, я бы хотел, чтобы это продолжалось, если это возможно.

Есть ли у кого-нибудь предложения для хорошего подхода (если у кого-то есть пример, который был бы замечательным)? Спасибо заранее!

Вы можете использовать встроенную функцию PHP:

 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); 

Вы можете нажать заголовок в массив на каждой итерации, а затем просто взорвать массив после цикла:

 echo implode(',', $array);