0

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

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

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

4

3 回答 3

2

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

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

$list = explode(",", trim($_GET['list'], ','));
于 2013-07-19T14:30:27.323 回答
2

首先修剪任何逗号:

$strList = rtrim($_GET['list'], ",")
$arrList = explode(",", $strList);
于 2013-07-19T14:30:28.020 回答
2

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

$list = array_filter(explode(",", $_GET['lists']));
于 2013-07-19T14:30:59.923 回答