2009-09-10 42 views
1

我有一個字符串類似以下內容:PHP的破滅,但不考慮額外的分隔符

test1, test2, test3, test4, 

當我使用破滅功能在這等我回來,有數組中的5個元素。

我怎麼能不考慮最後一個額外的逗號?

或更好,但我怎麼能substring,以便最終沒有額外的逗號。

回答

5

你可以使用rtrim()刪除尾部的逗號(或任何字符);
試試這個:
$ str = rtrim('test1,test2,test3,test4,',',');

參見RTRIM()的文檔@http://us2.php.net/manual/en/function.rtrim.php

+0

甚至使用trim()來刪除前面的一個,如果有的話。 – mauris 2009-09-10 05:13:30

0

也許RTRIM()是更好,因爲Arms建議。但是,正如你問子,只是要把它註冊...

substr($string, 0, -1);

當謝勝利,參數爲負值時,它會像strlen($string)-N,讓你的字符串中缺少最後N個字符。

-1

我可能會使用

preg_split('#, *#', $str, null, PREG_SPLIT_NO_EMPTY) 

這將是與輸入更加靈活(處理連續的逗號,空間不足或翻番空間,等...)。當然,這取決於如何相信你輸入是否保持不變。

參見preg_split()'s manual entry

+0

人們downvoting有效的答案?有趣。 – 2009-09-17 16:56:29