SESSION存多維陣列問題

來源:互聯網
上載者:User
需求是把最近訪問的分類ID(3個)存入到SESSION裡 

然後通過迴圈去資料庫裡取對應的分類名稱

我是先把得到的3個分類id拼成一個數組 存到session裡 
然後再把它取出來 再壓到那個數組裡
現在問題是取出來的資料並不是我想要的一個二維數組 
這是My Code:
session_start();$cate1 = $_GET['cate1'];$cate2 = $_GET['cate2'];$cate3 = $_GET['cate3'];$data[] = array('cate1'=>$cate1,'cate2'=>$cate2,'cate3'=>$cate3);if($_SESSION['cate']){$data[] = $_SESSION['cate'];}$_SESSION['cate'] = $data;


這是第三次訪問 返回的資料:
array(2) {  [0]=>  array(3) {    ["cate1"]=>    string(2) "35"    ["cate2"]=>    string(2) "43"    ["cate3"]=>    string(2) "12"  }  [1]=>  array(2) {    [0]=>    array(3) {      ["cate1"]=>      string(2) "35"      ["cate2"]=>      string(2) "43"      ["cate3"]=>      string(2) "12"    }    [1]=>    array(2) {      [0]=>      array(3) {        ["cate1"]=>        string(2) "95"        ["cate2"]=>        string(2) "64"        ["cate3"]=>        string(2) "13"      }      [1]=>      array(2) {        [0]=>        array(3) {          ["cate1"]=>          string(2) "95"          ["cate2"]=>          string(2) "64"          ["cate3"]=>          string(2) "13"        }        [1]=>        array(1) {          [0]=>          array(3) {            ["cate1"]=>            string(2) "55"            ["cate2"]=>            string(2) "24"            ["cate3"]=>            string(2) "43"          }        }      }    }  }}

這個結果讓我很傷心 如果才能得到一個正常的二維數組


回複討論(解決方案)

session_start();$cate1 = $_GET['cate1'];$cate2 = $_GET['cate2'];$cate3 = $_GET['cate3'];$data = array('cate1'=>$cate1,'cate2'=>$cate2,'cate3'=>$cate3);if($_SESSION['cate']){    $data = $_SESSION['cate'];} $_SESSION['cate'] = $data;

這樣也不行啊 版主大哥 這樣取到的永遠只有一個一維數組

http://localhost/test?cate1=23&cate2=34&cate3=45
http://localhost/test?cate1=24&cate2=35&cate3=46
我請求了兩次它返回的都是這個資料

array(3) {  ["cate1"]=>  string(2) "23"  ["cate2"]=>  string(2) "34"  ["cate3"]=>  string(2) "45"}


我希望是這樣的
array(3) {[0]=>{    ["cate1"]=>  string(2) "23"  ["cate2"]=>  string(2) "34"  ["cate3"]=>  string(2) "45"}[1]=>{    ["cate1"]=>  string(2) "24"  ["cate2"]=>  string(2) "35"  ["cate3"]=>  string(2) "46"}}


謝謝回複 麻煩再看下

session_start();if(! isset($_SESSION['cate']) ) $_SESSION['cate'] = array();$cate1 = $_GET['cate1'];$cate2 = $_GET['cate2'];$cate3 = $_GET['cate3'];$_SESSION['cate'][] = array('cate1'=>$cate1,'cate2'=>$cate2,'cate3'=>$cate3);

靠 原來這麼簡單 ……。 想太複雜了 謝謝版主

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.