首頁  >  問答  >  主體

PHP數組從URL參數中取得的行為不如預期

我有一個包含類別 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粉785905797P粉78590579783 天前804

全部回覆(1)我來回復

  • P粉267791326

    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']);

    回覆
    2
  • 取消回覆