php数组计数包括尾随逗号

时间:2013-07-19 14:28:05

标签: php arrays count

我有一个数组,我从一个爆炸的URL(使用$ _GET)获得。 url中的元素用逗号分隔,但是当我对元素进行COUNT时,结果包含最后的逗号。例如:'?list=jonny,sally,bob,''?list=jonny,sally,bob'返回'3'时返回'4'。我无法避免最终的逗号,因为它们会自动生成,但我需要在两个示例中返回3。有什么想法吗?感谢

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

注意:注释掉的行是删除逗号失败的尝试。但是$ list [$ listCount],即最终数组元素即使被计算也似乎不存在

3 个答案:

答案 0 :(得分:2)

如果要在字符串的开头或结尾处修剪任何额外的逗号,请使用trim()。如果你想在字符串的末尾,你可以使用rtrim()。

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

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

答案 1 :(得分:2)

首先是

Trim逗号:

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

答案 2 :(得分:2)

Array_filter将删除数组中的所有空值,因此如果连续有两个逗号,它也会删除由此引起的空值。

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