Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Последняя запятая в Foreach
Форумы портала PHP.SU » » Вопросы новичков » Последняя запятая в Foreach

Страниц (1): [1]
 

1. capkissel - 27 Мая, 2017 - 17:51:04 - перейти к сообщению
Доброго времени суток!
Помогите, пожалуйста)

Имею следующее:
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($products as $product) {
  3. foreach ($product['option'] as $option) {
  4. echo $option['model'] . ',';
  5. }
  6. }
  7.  


В результате получаю список значений из БД:
58,23724,23726,

Как можно избавиться от последней запятой? Однако
Заранее спасибо за помощь!
(Добавление)
Сделал вот так, работает:
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($products as $product) {
  3. foreach ($product['option'] as $option) {
  4. $options = '';
  5. $options = $option['aid'] . '-' . $product['quantity'] . ',';
  6.         $html[] = $options;
  7. }
  8. }
  9. echo rtrim(implode('', $html), ',');
  10.  
2. Строитель - 27 Мая, 2017 - 19:48:49 - перейти к сообщению
capkissel
3. Vladimir Kheifets - 28 Мая, 2017 - 18:27:59 - перейти к сообщению
Как можно избавиться от последней запятой?

end($html);
$i=key($html);
$html[$i]=substr($html[$i],0,-1);
4. Строитель - 28 Мая, 2017 - 19:13:25 - перейти к сообщению
Vladimir Kheifets, зачем так усложнять?
5. Vladimir Kheifets - 29 Мая, 2017 - 07:28:33 - перейти к сообщению
Строитель пишет:
Vladimir Kheifets, зачем так усложнять?

Что может быть проще чем $html[$i]=substr($html[$i],0,-1); ?

Автор пишет: "В результате получаю список значений из БД 58,23724,23726,"
Я предложил убрать запятую в последнем элементе массива.
Можете сравнить по скорости моё решение и Ваше
6. Строитель - 29 Мая, 2017 - 13:02:22 - перейти к сообщению
Vladimir Kheifets пишет:
Строитель пишет:
Vladimir Kheifets, зачем так усложнять?

Что может быть проще чем $html[$i]=substr($html[$i],0,-1); ?

Автор пишет: "В результате получаю список значений из БД 58,23724,23726,"
Я предложил убрать запятую в последнем элементе массива.
Можете сравнить по скорости моё решение и Ваше
Проще может быть вариант без "кода ради кода". То, что можно записать с минимумом кода, не нужно расписывать в нескольких строках. Индокод плодить не модно )
На счет скорости - вы экономите на спичках? Вопрос риторический.

 

Powered by ExBB FM 1.0 RC1