我有一个数组,我从一个爆炸的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],即最终数组元素即使被计算也似乎不存在
答案 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']));