убрать последнюю запятую php
Убрать последнюю запятую php
Сформировали список тэгов, расставляя после каждого «,». После последнего тоже запятая… надо убрать.
Наверное многие это уже знают, но всё же:
Кстати, это можно решить ещё во время формирования строки.
Комментарии RSS по email OK
Как решить во время форматирования я тоже отписал свой вариант в той записи.
Позволю с вами совсем не согласиться. Для этого есть chop() (который алиас rtrim())
Вызывается легко и непринужденно chop($str, ‘,’);
Ktulhu
trim тоже принимает список символов, но chop конечно более подходящая штука для данного случая.
А зачем формировать список тегов именно так, не удобней ли:
$tags = array(‘tag1’, ‘tag2’, ‘tag3’);
Чаще всего удобней, но иногда не выходит. Например, если массив многомерный… это не обязательно тэги.
Sam, тогда так может проще? 🙂
Splurov
Так немного медленней, чем с формированием строки и chop().
Проявляется при обработке массива от 1000 элементов.
Sam, к счастью, нам не приходиться выводить пользователю списки из тысячи и более составляющих
Ну я то именно такой массив для тегов и представлял, но не хотел менять исходные данные.
Потестил тут немного для массива вида:
3) 2.40084600449, просто сборка без chop 1.68192100525
Не очень удачно запостился коммент, предварительный просмотр не повредил бы.
Удаление последней запятой из цикла foreach
Я использую цикл foreach для вывода некоторых значений из моей базы данных, мне нужно убрать последнюю запятую из последнего цикла, если это имеет смысл.
Мой цикл просто, как показано ниже
Любая помощь будет отличной:)
13 ответов
Сначала получите все выходные данные, используя буферизацию вывода. Затем обрежьте запятую и отобразите ее. Итак, сделайте это так:
Метод буферизации вывода помогает, если внутренний цикл очень большой (а OP публикуется здесь только для краткости), тогда использовать OB проще без изменения внутренних частей цикла.
1. Согласитесь со строкой, но добавьте | перед
2. Эхо | только если не последний элемент
3. Загрузить в массив, а затем взорвать
4. Согласитесь со строкой, затем обрежьте последний | (или rtrim это)
5. Строка Concat с использованием array_map()
Не так красиво, но тоже работает:
Я не знаю, решит ли это вашу проблему как таковую, но она помогла мне с моей. Я понимаю, что этому вопросу уже много лет, но, надеюсь, это поможет кому-то еще. Я довольно новичок в PHP, поэтому я не совсем понял многие ответы, которые были даны до меня, хотя они были довольно проницательными, особенно взорвались.
Довольно просто с end($array) здесь:
Еще один умный способ:
Я должен сделать это много, потому что я всегда пытаюсь ввести числа в jplot, я считаю, что проще поставить запятую в начале цикла следующим образом:
, а затем отрежьте первый символ (запятую) с помощью substr, это поможет, если вы знаете, какой длины будет ваша строка, я не уверен, каково ограничение на максимальный символ substr.
Как удалить последнюю запятую на php?
У меня есть отредактированный Supersized. я добавил код для цикла о фотографиях на wp.
поэтому у меня это на оригинале:
и я отредактировал для галереи петель от wp:
и он работает с Chrome, Firefox и т.д.
но у меня есть проблема с этим предупреждением в IE 8-7 и Firefox:
Сообщение: ‘слайды [. ]. url является нулевым или не является объектом
поэтому я хочу разрешить для удаления последней запятой на отредактированных слайдах. потому что он повторяет comme на один за другим изображения, и это вызывает эту проблему, например.
как я могу удалить последнюю запятую?
Почему вы постоянно входите и выходите из PHP? Это ужасно неэффективно.
Почему бы не использовать json для формирования массива слайдов
Для моей точки зрения второе решение является самым чистым.
Вы уверены, что проблема в последней коме? Если да, вам нужно сохранить все изображения в переменной, избавиться от последней комы в конце цикла и распечатать результат:
допустимо иметь конечную запятую в массиве объектов JS, поэтому запятая не является вашей проблемой. Эта ошибка возникает, потому что вы не задали свойство URL для ваших объектов слайда. это ваша строка JSON, которую вы в настоящее время вывешиваете:
но вам нужен полный объект для слайдов:
Люди, похоже, думают, что есть какая-то проблема с запятой. Я не думаю, что это главная проблема. Это может вызвать проблемы (я не думаю, что это будет), но кроме того, этот код ребята НИКОГДА НЕ РАБОТАЕТ БЕЗ ЧЕРЕЗ ОШИБКУ, КОТОРУЮ, ЧТО ОН ЗАПИСАН В ЕГО ВОПРОС. Я пошел прямо к источнику supersize, чтобы показать вам, в чем проблема.
вот оно. на линии 23, точно так же, как говорит СООБЩЕНИЕ ОШИБКИ. script пытается получить доступ к свойству URL для каждого объекта слайда. НО НЕ УСТАНОВИЛ СОБСТВЕННОСТЬ. поэтому он ВСЕГДА произведет ошибку, которую ПОЛЬЗОВАТЕЛЬ СКАЗАЛ, ЧТО ПОЛУЧИТ.
Удаление последней запятой из цикла foreach
Im, используя цикл foreach, чтобы эхо из некоторых значений из моей базы данных и отделяя каждый из них запятыми, но я не знаю, как удалить последнюю запятую, которую он добавляет к последнему значению.
мой код довольно прост, но я просто не могу найти правильный способ сделать это:
заранее спасибо за любую помощь 🙂
8 ответов
ставим свои значения в массив, а потом implode этот массив с запятой (+пробел, чтобы быть чище):
это поставит запятые между каждым значением, но не в конце. Также в этом случае запятая будет находиться вне диапазона, например:
другой подход для вашего кода будет немного логики:
Я обычно стараюсь избегать добавления логики для таких случаев использования. Лучшим методом было бы сохранить значения в массиве и сжать его запятыми.
однако вы можете добавить запятые CSS, что намного проще.
ваш хороший и чистый цикл:
это работает для всех основных браузеров, включая IE8 и новее.
альтернативно ответу @Sébastien, вы можете сделать следующее:
для этого не нужен дополнительный массив. Он работает, сначала печатая первый элемент, затем в цикле печатает промежуточный сегмент, за которым следует Следующий элемент, а затем закрывает все конечным сегментом.
вы должны использовать implode() функция on
использовать substr () функции
поместите последнюю строку в substr () функции
функция Laravel implode () для реляционных данных.
Как сообщение имеет много категорий.
вы можете использовать функцию TRIM. Предположим, ваша строка такова
Как убрать последнюю запятую на php?
У меня есть отредактированный суперразмер. Я добавил код для цикла о фотографиях на WP.
так что я это оригинал:
и я отредактировал для галереи петли из wp:
и это работает на Chrome, Firefox и т.д.
Сообщение: ‘slides[. ]. Url’ является нулем или не объектом
поэтому я хочу разрешить удалить последнюю запятую на отредактированных слайдах. потому что это повторяет запятую на одном изображении, и это вызывает эту проблему, т.е. как я могу удалить эту последнюю запятую?
5 ответов
Почему вы постоянно заходите и выходите из PHP? Это ужасно неэффективно.
На мой взгляд, второе решение является наиболее чистым.
Почему бы не использовать json сформировать массив слайдов
Вы уверены, что проблема в последней коме? Если да, вам нужно сохранить все изображения в переменной, избавиться от последней комы в конце цикла и распечатать результат:
Допустимо иметь запятую в массиве объектов JS, поэтому запятая не является вашей проблемой. Эта ошибка выдается, потому что вы не установили свойство URL для ваших объектов слайдов. это ваша строка JSON, которую вы сейчас выводите:
но вам нужен полный объект для слайдов:
Люди, кажется, думают, что есть какая-то проблема с запятой. Я не думаю, что это главная проблема. Это может вызвать проблемы (я не думаю, что так будет), но, кроме того, этот код парней НИКОГДА НЕ БУДЕТ РАБОТАТЬ БЕЗ ОШИБКИ, КОТОРУЮ ОН НЕ УКАЗАЛ В ЕГО ВОПРОСЕ. Я пошел прямо к источнику большого размера, чтобы показать вам, в чем проблема.
вот оно в строке 23, так же, как говорит его сообщение об ошибке. Сценарий пытается получить доступ к свойству URL каждого объекта слайда. НО ОН НЕ УСТАНОВИЛ СОБСТВЕННОСТЬ URL. таким образом, он ВСЕГДА выдаст ошибку, которую ПОЛЬЗОВАТЕЛЬ СКАЗАЛ, ЧТО ОНА ПОЛУЧАЕТ