php数组计数包括尾随逗号

php数组计数包括尾随逗号,php,arrays,count,Php,Arrays,Count,我有一个数组,它是我从一个分解的url(使用$\u get)得到的。 url中的元素用逗号分隔,但当我计算元素时,结果包括最后一个逗号。例如:'?list=jonny,sally,bob'返回'4'时,'?list=jonny,sally,bob'返回'3'。我无法避免最后一个逗号,因为它们是自动生成的,但我需要在两个示例中都返回3。有什么想法吗??谢谢 $list = explode(",", $_GET['list']); $listCount = count($list); //$list

我有一个数组,它是我从一个分解的url(使用$\u get)得到的。 url中的元素用逗号分隔,但当我计算元素时,结果包括最后一个逗号。例如:
'?list=jonny,sally,bob'
返回'4'时,
'?list=jonny,sally,bob'
返回'3'。我无法避免最后一个逗号,因为它们是自动生成的,但我需要在两个示例中都返回3。有什么想法吗??谢谢

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

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

如果要修剪字符串开头或结尾的任何额外逗号,请使用trim()。如果希望它位于字符串的末尾,可以使用rtrim()


如果要修剪字符串开头或结尾的任何额外逗号,请使用trim()。如果希望它位于字符串的末尾,可以使用rtrim()

任何逗号优先:

$strList = rtrim($_GET['list'], ",")
$arrList = explode(",", $strList);
任何逗号优先:

$strList = rtrim($_GET['list'], ",")
$arrList = explode(",", $strList);
将从数组中删除任何空值,因此,如果一行中有两个逗号,它也将删除由此导致的空值

$list = array_filter(explode(",", $_GET['lists']));
将从数组中删除任何空值,因此,如果一行中有两个逗号,它也将删除由此导致的空值

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

谢谢,这为我解决了一个最近的问题—当“计数”将空数组计数为1而不是0时,这为我解决了一个最近的问题—当“计数”将空数组计数为1而不是0时