Как удалить последнюю запятую из строки с помощью php?
Здравствуйте, я использую цикл для получения значений из моей базы данных, и мой результат выглядит так:
'name', 'name2', 'name3',
И я хочу это так:
'name', 'name2', 'name3'
Я хочу удалить запятую после последнего значения цикла.
Спасибо
13 ответов
Использование rtrim
функция
rtrim($my_string,',');
Второй параметр указывает символ, который нужно удалить.
Пытаться:
$string = "'name', 'name2', 'name3',";
$string = rtrim($string,',');
Попробуйте ниже код:
$my_string = "'name', 'name2', 'name3',";
echo substr(trim($my_string), 0, -1);
используйте этот код, чтобы удалить последний символ строки.
Ты можешь использовать substr
функция, чтобы удалить это.
$t_string = "'test1', 'test2', 'test3',";
echo substr($t_string, 0, -1);
rtrim
функция
rtrim($my_string,',');
Второй параметр указывает, что запятая будет удалена с правой стороны.
Для этого лучше использовать имплозу. Внушить легко и круто:
$array = ['name1', 'name2', 'name3'];
$str = implode(', ', $array);
Выход:
name1, name2, name3
Это повлияет на ваш скрипт, если вы работаете с многобайтовым текстом, из которого вы подстроку Если это так, я настоятельно рекомендую включить функции mb_* в вашем php.ini или сделать это ini_set("mbstring.func_overload", 2);
$string = "'test1', 'test2', 'test3',";
echo mb_substr($string, 0, -1);
Вы можете использовать один из следующих способов, чтобы удалить последнюю запятую (,)
Решение1:
$string = "'name', 'name2', 'name3',"; // this is the full string or text.
$string = chop($string,","); // remove the last character (,) and store the updated value in $string variable.
echo $string; // to print update string.
Решение 2:
$string = '10,20,30,'; // this is the full string or text.
$string = rtrim($string,',');
echo $string; // to print update string.
Решение 3:
$string = "'name', 'name2', 'name3',"; // this is the full string or text.
$string = substr($string , 0, -1);
echo $string;
Это так же просто, как:
$commaseparated_string = name,name2,name3,;
$result = rtrim($commaseparated_string,',');
Сначала я попробовал без пробела rtrim($arraynama,",");
и получил неверный результат.
Затем я добавил пробел и получил действительный результат:
$newarraynama=rtrim($arraynama,", ");
Решения для применения во время цикла:
//1 - Using conditional:
$source = array (1,2,3);
$total = count($source);
$str = null;
for($i=0; $i <= $total; $i++){
if($i < $total) {
$str .= $i.',';
}
else {
$str .= $i;
}
}
echo $str; //0,1,2,3
//2 - Using rtrim:
$source = array (1,2,3);
$total = count($source);
$str = null;
for($i=0; $i <= $total; $i++){
$str .= $i.',';
}
$str = substr($str,0,strlen($str)-1);
echo $str; //0,1,2,3
Я перепробовал все, и только это решило мою проблему
$string = '10,20,30,'; // это полная строка или текст.
$string = Trim(Trim($string),','); // функция двойной обрезки
эхо $строка; // для печати строки обновления.