PHP数组从URL参数中获取的行为不如预期
P粉785905797
P粉785905797 2024-04-06 22:09:02
1
1
1158

我有一个包含类别 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粉785905797
P粉785905797

全部回复(1)
P粉267791326

错误不在服务器/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']);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!