我有一个包含类别 ID 的 URL 参数,我想将其视为一个数组,如下所示:
http://example.com?cat[]=3,9,13
在 PHP 中,我使用它从 URL 参数获取数组:
$catIDs = $_GET['cat'];
当我执行 echo gettype($catIDs);
时,它表明它实际上被视为数组,但是当我执行 print_r($catIDs);
时,我得到以下结果:
Array ([0] => 3,9,13)
但我期待这个:
Array ([0] => 3, [1] => 9, [2] => 13)
我在这里缺少什么?谢谢!
P粉2677913262024-04-07 00:39:50
错误不在服务器/PHP 端,而是在客户端/请求端。给定的 URL 为您提供一个包含一个元素的数组,即一个以逗号分隔的字符串:
cat[]=3,9,13
产量:
["3,9,13"]
要通过 URL 参数指定数组,您需要为每个项目重复参数名称:
cat[]=3&cat[]=9&cat[]=13
产量:
["3","9","13"]
或者,您可以指定一个以逗号分隔的参数:
cat=3,9,13
然后将其拆分:
$cat = explode(',', $_GET['cat']);