Aus URL-Parametern erhaltene PHP-Arrays verhalten sich nicht wie erwartet
P粉785905797
P粉785905797 2024-04-06 22:09:02
1
1
1049

Ich habe einen URL-Parameter, der eine Kategorie-ID enthält, und ich möchte ihn als Array wie folgt behandeln:

http://example.com?cat[]=3,9,13

In PHP verwende ich dies, um ein Array aus einem URL-Parameter abzurufen:

$catIDs = $_GET['cat'];

Wenn ich echogettype($catIDs);时,它表明它实际上被视为数组,但是当我执行print_r($catIDs);ausführe, erhalte ich das folgende Ergebnis:

Array ([0] => 3,9,13)

Aber das habe ich erwartet:

Array ([0] => 3, [1] => 9, [2] => 13)

Was fehlt mir hier? Danke!

P粉785905797
P粉785905797

Antworte allen (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']);
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!