Как удалить последнюю запятую из строки слов через запятую в php? - PullRequest
1 голос
/ 27 марта 2012

Допустим, моя строка выглядит следующим образом:

$string = 'lorem, ipsum, dolor, sit, amet, ';

или $string = 'lorem, ipsum, dolor, sit, amet,';

Как преобразовать это в нечто подобное?

$string = 'lorem, ipsum, dolor, sit, amet';

// строкагенерируется этим кодом:

$count = count($taglist);
for ($i = 0; $i < $count; $i++) {
$videoData['tags'] .= $taglist[$i].', ';
}

Ответы [ 7 ]

6 голосов
/ 27 марта 2012
$string = rtrim($string, ', ');
4 голосов
/ 27 марта 2012

Я предполагаю, что эта строка строится программно в другом месте с помощью цикла, подобного этому:

$str = '';
some loop {
    $str .= $item . ', ';
}

И в конце цикла у вас осталось дополнительное ",". Если это так, я бы порекомендовал сделать это вместо:

$list = array();
some loop {
    $list[] = $item;
}
$str = implode(', ', $list);
3 голосов
/ 27 марта 2012
trim($string, " ,");

Удаляет запятые (плюс пробелы по умолчанию, символы новой строки и т. Д.) Как в начале, так и в конце строки.

2 голосов
/ 27 марта 2012
$string = substr(trim($string),0,-1);
1 голос
/ 27 марта 2012

Менее специфичная для PHP сущность, которая является соглашением, и полезная привычка - вот что ...

var modString = "";
for(var i = 0; i < LIMIT_NUM; i++) {
    if(modString.length() > 0) modString += ",";
    modString += "content";
}

Это символично для кода javascript, но идея проста ... проверьте, еслиВ строке есть что-нибудь, и если она добавит запятую ДО содержимого. Это будет работать на любом языке, и так я это делаю чаще всего.Вам нужны соглашения для такого рода вещей вместо вызова библиотеки для чего-то такого простого.

0 голосов
/ 27 марта 2012

Вы можете использовать substr(trim($string),0,-1) для удаления последнего символа и пробелов.

0 голосов
/ 27 марта 2012

Попробуйте это ....

$string = rtrim($string, ', ');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...