2013-03-14 6 views
54

Здравствуйте, я использую цикл, чтобы получить значения из моей базы данных и мой результат как:Как удалить последнюю запятую из строки, используя php?

'name', 'name2', 'name3', 

И я хочу это так:

'name', 'name2', 'name3' 

Я хочу удалить запятую после последнего значения цикла ,

Благодаря

+2

давайте посмотрим ваш цикл – 2013-03-14 12:02:22

+8

Вы должны 'implode' исходные значения запятыми, а не цикл над ними и удалять вещи в конце. – moonwave99

ответ

115

Использование rtrim функция

rtrim($my_string,','); 

Второй параметр указывает символ, который будет удален.

+1

Поместите строку кода после цикла не внутри цикла – Ander2

+11

Также убедитесь, что после запятой у вас нет конечного пробела, иначе это не удастся или сделает rtrim (обрезка ($ my_string), ','). – Foxhoundn

+0

Отличный ответ! – DiChrist

18

Try:

$string = "'name', 'name2', 'name3',"; 
$string = rtrim($string,','); 
+1

Я уже пробовал это, но его показано так: 'name''name2''name3' Это не то, что мне нужно – JoJo

+0

В вашем примере вам нужно применить эту функцию только к окончательному результату, а не по каждому значению в отдельности. – Boaz

+0

Обновлен ответ, чтобы сделать его более понятным. – Boaz

4

использование rtrim()

rtrim($string,','); 
5

rtrim функция

rtrim($my_string,','); 

Второй параметр указывает на то, что запятой должен быть удален с правой стороны.

7

Try Ниже Код:

$my_string = "'name', 'name2', 'name3',"; 
echo substr(trim($my_string), 0, -1); 

использовать этот код, чтобы удалить последний символ строки.

4

Вы можете использовать функцию substr, чтобы удалить это.

$t_string = "'test1', 'test2', 'test3',"; 
echo substr($t_string, 0, -1); 
2

Это повлияет на ваш скрипт, если вы работаете с многобайтовым текстом, из которого вы подстроки. Если это так, то я высокоочищенный рекомендую включить mb_ * функцию в вашем php.ini или сделать это ini_set("mbstring.func_overload", 2);

$string = "'test1', 'test2', 'test3',"; 
 
echo mb_substr($string, 0, -1);

0

Первой попытки без пространства RTRIM ($ arraynama, ""); и получить результат ошибки.

Затем добавить пробел и получить хороший результат:

$newarraynama=rtrim($arraynama,", "); 
0

его так просто, как:

$commaseparated_string = name,name2,name3,; 
$result = rtrim($commaseparated_string,',');