需求是把最近訪問的分類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);
靠 原來這麼簡單 ……。 想太複雜了 謝謝版主