2013-07-19 90 views
0

我有一個數組,我從爆炸的URL(使用$ _GET)獲得。 url中的元素用逗號分隔,但是當COUNT元素時,結果包含最終的逗號。例如:當'?list=jonny,sally,bob'返回'3'時,'?list=jonny,sally,bob,'返回'4'。我無法避免最終的逗號,因爲它們會自動生成,但我需要在兩個示例中都返回3。請任何想法?謝謝php數組包括尾隨逗號

$list = explode(",", $_GET['list']); 
$listCount = count($list); 
//$listCount =(int)$listCount -1; 
//$list[$listCount]=str_replace($list[$listCount],',',''); 
echo $listCount; 

注:註釋掉的行是嘗試刪除逗號失敗。但$ list [$ listCount],即最終的數組元素似乎並不存在,即使它被計算在內

回答

2

如果你想在字符串的開始或結尾修剪任何額外的逗號,使用trim()。如果你想要在字符串的末尾,你可以使用rtrim()。

$list = explode(",", $_GET['list']); 

$list = explode(",", trim($_GET['list'], ',')); 
+0

非常感謝!簡單到最後... – gavin

2

Trim任何逗號第一:

$strList = rtrim($_GET['list'], ",") 
$arrList = explode(",", $strList); 
2

Array_filter將從您的數組中刪除任何空值,所以如果你在一行中有兩個逗號,它會刪除由此引起的空值。

$list = array_filter(explode(",", $_GET['lists'])); 
+0

謝謝,這爲我解決了一個更近期的問題 - 當一個'count'計數一個空數組爲1,而不是0 – gavin