我想刪除字符串末尾的逗號。因爲它現在我正在使用如何從字符串末尾刪除逗號?
$string = substr($string,0,-1);
但這隻會刪除字符串的最後一個字符。我正在動態地添加字符串,所以有時在字符串末尾沒有逗號。如何讓PHP在字符串末尾刪除逗號(如果末尾有逗號)?
我想刪除字符串末尾的逗號。因爲它現在我正在使用如何從字符串末尾刪除逗號?
$string = substr($string,0,-1);
但這隻會刪除字符串的最後一個字符。我正在動態地添加字符串,所以有時在字符串末尾沒有逗號。如何讓PHP在字符串末尾刪除逗號(如果末尾有逗號)?
$string = rtrim($string, ',');
先於同:
if(substr($string, -1)==",")
if(substr($str, -1, 1) == ',') {
$str = substr($str, 0, -1);
}
看看在RTRIM函數
rtrim ($string , ",");
上面的線將刪除一個字符,如果最後一個字符是一個逗號
一個簡單的正則表達式將工作
$string = preg_replace("/,$/", "", $string)
開發人員使用正則表達式來解決問題,現在他有兩個問題。 – Sigurd 2009-10-29 10:24:41
RTRIM($字符串,「」);是最簡單的方法。
我想你是串聯在迴路中的東西,像
foreach($a as $b)
$string .= $b . ',';
更好的是收集在一個數組的項目,然後用分隔符加入它,你需要
foreach($a as $b)
$result[] = $b;
$result = implode(',', $result);
這解決了後綴和雙分隔符問題通常發生在串聯中
好的建議。但是,並非所有的連接都可能發生在PHP中。在我的情況下,我發送一個Javascript串聯的字符串用於解開PHP。 – Sablefoste 2015-09-11 19:49:12
這是一個經典問題,有兩種解決方案。如果你想刪除只有一個逗號,這可能會或可能不會在那裏,用途:
if (substr($string, -1, 1) == ',')
{
$string = substr($string, 0, -1);
}
如果你想從行結束時,所有逗號使用簡單:
$string = rtrim($string, ',');
該RTRIM函數(左修剪相應LTRIM)是非常有用的,你可以指定一個字符範圍的去除,即刪除逗號前後空白你可以這樣寫:
$string = rtrim($string, ", \t\n");
謝謝你的詳細解釋。這澄清了事情! – zeckdude 2009-10-29 19:33:33
我有一個討厭的「invisi在我的字符串和結束BLE」空間不得不這樣做
$update_sql=rtrim(trim($update_sql),',');
但上面的解決方案是更好的
$update_sql=rtrim($update_sql,', ');
如果你在環路串聯東西,你可以做到這一點在這方式太:
$coma = "";
foreach($a as $b){
$string .= $coma.$b;
$coma = ",";
}
這將刪除多個逗號:「a,b ,,,」將變成「a,b」。無論這是OP的意願或不是我不知道... – Greg 2009-10-29 10:20:25
完美,謝謝! – zeckdude 2009-10-29 10:25:09
謝謝你,我正在用substr,strlen,...我所有的生活 – Farhad 2015-04-15 17:59:01