Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/40: Рейтинг темы: голосов - 40, средняя оценка - 4.88
5 / 5 / 7
Регистрация: 01.08.2013
Сообщений: 174

убрать запятую у последнего элемента

18.11.2013, 00:02. Показов 7625. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вывожу данные циклом, через запятую:
PHP
1
2
3
4
5
6
7
while ($active_tabl = $this->db->Fetch($res_t))
                        {
                            $tabl = $active_tabl['table_name'].' ('.$active_tabl['colvo'].'), ';
                            $table = trim($tabl, ',');
                            echo $table;
                            //echo $active_tabl['table_name'].', ';
                        }
получается такой текст:
стол1(3), стол2(5), стол3(7),

как мне у последнего элемента не выводить запятую ( , ) ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.11.2013, 00:02
Ответы с готовыми решениями:

Убрать запятую в конце последнего элемента
Здравствуйте! Вывожу элементы массива через запятую. Как убрать запятую после последнего элемента ? Пока получается убрать запятую у...

Убрать запятую между цифрами
Ну вот собственно сам вопрос такой возник у меня.. Нужно убрать запятую между цифрами например: 75,00 - должно получиться 7500 и...

Вывод нескольких чисел через запятую - не ставить знак после последнего элемента
program massiv; uses crt; var a:array of integer; ar:real; en,s,i,n:integer; begin repeat clrscr; s:=0; write('Введите...

10
65 / 65 / 6
Регистрация: 22.09.2010
Сообщений: 182
18.11.2013, 03:28
PHP
1
2
3
4
5
6
7
8
9
10
$tables_array = array();
while ($active_tabl = $this->db->Fetch($res_t))
                        {
//                            $tabl = $active_tabl['table_name'].' ('.$active_tabl['colvo'].'), ';
$tables_array[] = $active_tabl['table_name'].' ('.$active_tabl['colvo'].')';
//                            $table = trim($tabl, ',');
//                            echo $table;
                            //echo $active_tabl['table_name'].', ';
                        }
echo implode(', ',$tables_array);
1
5 / 5 / 7
Регистрация: 01.08.2013
Сообщений: 174
18.11.2013, 10:40  [ТС]
Great-Antique, но таким образом данные склеиваются как то криво..

1я строка: стол1(3), стол2(5), стол3(7)
2я строка: стол1(3), стол2(5), стол3(7), стол6(1), стол8(3)
3я строка: стол1(3), стол2(5), стол3(7), стол6(1), стол8(3), стол45(2), стол23(13) и т.д., хотя Вы мне помогли в этой теме, поэтому думаю там прикрутить подсчет элементов и выводить тем способом)
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
18.11.2013, 10:53
Цитата Сообщение от piraids Посмотреть сообщение
но таким образом данные склеиваются как то криво
такого быть не может. Данные выводятся точно также, только без последней запятой
0
 Аватар для JxF-TEAM
122 / 122 / 27
Регистрация: 22.10.2013
Сообщений: 425
18.11.2013, 11:00
если после запятонй нечего то
PHP
1
2
3
4
5
6
7
8
$gt_tabl = "";
while ( $active_tabl = $this->db->Fetch ( $res_t ) ) {
    $gt_tabl .= $active_tabl['table_name'].' ('.$active_tabl['colvo'].'), ';
}
 
echo trim ( $gt_tabl , ", " );
/* or */
echo substr_replace ( $gt_tabl , "" , -2 , 2 );
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
18.11.2013, 11:02
Цитата Сообщение от JxF-TEAM Посмотреть сообщение
PHP
1
echo $insert = substr_replace ( $gt_tabl , "" , -1 , 1 );
так проще же просто обрезать
PHP
1
echo $insert = substr ( $gt_tabl , 0, -1);

Не по теме:

а вместо trim здесь, имхо, лучше использовать rtrim. Чисто логически это будет быстрее

0
 Аватар для JxF-TEAM
122 / 122 / 27
Регистрация: 22.10.2013
Сообщений: 425
18.11.2013, 11:06
Цитата Сообщение от KOPOJI Посмотреть сообщение
так проще же просто обрезать
PHP
1
echo $insert = substr ( $gt_tabl , 0, -1);

Не по теме:

а вместо trim здесь, имхо, лучше использовать rtrim. Чисто логически это будет быстрее

ааа это я выдернул кусок кода сдругова.. insert там не нужен

Добавлено через 1 минуту
Цитата Сообщение от KOPOJI Посмотреть сообщение
так проще же просто обрезать
PHP
1
echo $insert = substr ( $gt_tabl , 0, -1);

Не по теме:

а вместо trim здесь, имхо, лучше использовать rtrim. Чисто логически это будет быстрее

PHP
1
echo substr ( $gt_tabl , 0, -2 );
потому как у него не проста "," a ", "

Добавлено через 1 минуту
Цитата Сообщение от KOPOJI Посмотреть сообщение

Не по теме:

а вместо trim здесь, имхо, лучше использовать rtrim. Чисто логически это будет быстрее

Не по теме:

о_О я и не знал что есть специально под конец

0
5 / 5 / 7
Регистрация: 01.08.2013
Сообщений: 174
18.11.2013, 11:17  [ТС]
KOPOJI, у меня вывод сейчас происходит таким образом:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<table>
<tr>
<?
$комнаты- выбираются активные столы
while ($комнаты)
{
?>
<td>
<?=$комнаты?>
</td>
 $столы - выбираются относительно активных $комнаты
 while ($столы)
 {
?>
<td>
<?
$столы
?>
</td>
<?
 }
}
</tr>
</table>
Добавлено через 2 минуты
столы выводятся через запятую, и если пишу как предлагает Great-Antique, то получается:
1я строка: стол1(3), стол2(5), стол3(7)
2я строка: стол1(3), стол2(5), стол3(7), стол6(1), стол8(3)
3я строка: стол1(3), стол2(5), стол3(7), стол6(1), стол8(3), стол45(2), стол23(13) и т.д.

Добавлено через 4 минуты
И этот:
PHP
1
2
3
4
5
6
7
while ($active_tabl = $this->db->Fetch($res_t))
                        {
                            
                            $gt_tabl .= $active_tabl['table_name'].' ('.$active_tabl['colvo'].'), ';
                            
                        }
                        echo substr ( $gt_tabl , 0, -2 );
И этот:
PHP
1
2
3
4
5
6
7
8
$tables_array = array();
while ($active_tabl = $this->db->Fetch($res_t))
                        {
 
$tables_array[] = $active_tabl['table_name'].' ('.$active_tabl['colvo'].')';
 
                        }
echo implode(', ',$tables_array);
Удаляют в конце запятую, но так как у меня цикл в цикле, то данные выводятся некорректно..
0
 Аватар для JxF-TEAM
122 / 122 / 27
Регистрация: 22.10.2013
Сообщений: 425
18.11.2013, 11:20
PHP
1
2
3
4
5
6
7
8
$tables_array = array();
while ($active_tabl = $this->db->Fetch($res_t)) {
    $tables_array[] = $active_tabl['table_name'].' ('.$active_tabl['colvo'].'), ';
}
$tables_array [ count ( $tables_array ) - 1 ] = rtrim ( $tables_array [ count ( $tables_array ) - 1 ] , ", " );
 
foreach ( $tables_array as $val )
    echo $val;
1
5 / 5 / 7
Регистрация: 01.08.2013
Сообщений: 174
18.11.2013, 11:34  [ТС]
Работает как часы!)) спасибо!!!
PHP
1
2
3
4
5
6
7
8
$tables_array = array();
while ($active_tabl = $this->db->Fetch($res_t)) 
{
    $tables_array[] = $active_tabl['table_name'].' ('.$active_tabl['colvo'].'), ';
}
$tables_array [ count ( $tables_array ) - 1 ] = rtrim ( $tables_array [ count ( $tables_array ) - 1 ] , ", " );
foreach ( $tables_array as $val )
echo $val;
0
65 / 65 / 6
Регистрация: 22.09.2010
Сообщений: 182
18.11.2013, 17:43
piraids, не, последний вариант - чтото непонятное. Сами добавляете запятые - сами удалаяете.
Что конкретно вам нужно получить?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$output = '<table>';
while ($room) {
    $output .= '<tr>';
    $output .= '<td>'.$room['name'].'<td>';
    $tables_array = array();
    while ($table) {
        $tables_array[] = $table['table_name'].' ('.$table['colvo'].')';
    } 
    $tables_str = implode(', ',$tables_array);
    $output .= '<td>'.$tables_str.'</td>';
    $output .= '</tr>';
}
$output .= '</table>';
 
echo $output;
И еще: столы выводились криво не потому что я так предложил или написал. Я просто предложил вам вариант избавления от последней запятой, а дальше - надо видить скрипт, чтобы правильно имплементировать мою часть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.11.2013, 17:43
Помогаю со студенческими работами здесь

Убрать margin у последнего элемента в строке
У меня есть N строк из товаров, и между товарами margin-right: 30. Как сделать так, чтобы margin не применялся для последнего элемента в...

При использовании :after убрать подчеркивание у последнего элемента в ссылке
Здравствуйте! При использовании псевдоэлемента :after свойство text-decoration: none; не работает, color работает... Помогите исправить.

Убрать запятую
Здравствуйте. Есть переменная: string a = &quot;3243, 43&quot; Как убрать запятые и пробелы, и оставить в строке только цифры? Большое...

Убрать запятую из строки
Есть код, который берет строку из Edit var stroka: string; begin stroka := Edit1.Text; //тут надо как то из этой строки...

Убрать запятую в конце!
Доброго времени суток, есть метод Dilimeter который разделяет каждый элемент списка или массива, тем что мы ему зададим, в даном случае я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru