ホームページ >バックエンド開発 >PHPチュートリアル >SESSIONストレージの多次元配列の問題
要件は、最近アクセスしたカテゴリ ID (3) を SESSION に保存することです
次に、データベースをループして、対応するカテゴリ名を取得します
まず、取得した 3 つのカテゴリ ID を配列に入れてセッションに保存します
次にそれを取り出して配列にプッシュします
ここで問題は、取り出したデータが私が望む 2 次元配列ではないことです
これが私のコードです:
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;
これもうまくいきません。 1 次元配列
http://localhost/test?cate1=23&cate2=34&cate3=45
http://localhost/test?cate1=24&cate2=35&cate3=46
2 回リクエストしたところ、このデータが返されました
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);
くそー、とても簡単です...考えるのが難しすぎます、モデレータさん、ありがとうございます