PHP數組從URL參數中取得的行為不如預期
P粉785905797
P粉785905797 2024-04-06 22:09:02
1
1
1157

我有一個包含類別 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學習者快速成長!