2009-09-10 38 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