Как удалить последнюю запятую из строки с помощью 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

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

rtrim($string,',');

Это повлияет на ваш скрипт, если вы работаете с многобайтовым текстом, из которого вы подстроку Если это так, я настоятельно рекомендую включить функции 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),','); // функция двойной обрезки

эхо $строка; // для печати строки обновления.

Другие вопросы по тегам