2016-10-04 14 views
0

codeigniterのuserdataセッションに多次元配列を格納したい。 私はそれがうまく動作する単純な配列を格納します。多次元には何も格納しません。セッションに多次元配列を格納する方法はありますか?多次元配列をuserdataのセッションコードに格納

私のコードは次のとおりです。

   foreach ($unique_data as $unique_type) { 
       $indexes = index_unique_values($product_all_data, 'type', $unique_type['type']); 
       foreach ($indexes as $key) { 
        $product_name = $product_all_data[$key]['name']; 
        $product_type = $product_all_data[$key]['type']; 
        $product_status = $product_all_data[$key]['status']; 
        $cost = $product_all_data[$key]['cost']; 
        $price = $product_all_data[$key]['price']; 
        $barcode = $product_all_data[$key]['barcode']; 

        $product_type_all_prod[] = array('name' => $product_name, 'type' => $product_type, 'status' => $product_status, 'cost' => $cost, 'price' => $price, 'barcode' => $barcode, 'cat_name' => ''); 
       } 
      } 

      $product_bytype_array = array("product_by_type" => $product_type_all_prod); 
      $this->session->set_userdata($product_bytype_array); 

ありがとうございました。あなたが何かのような...

$this->session->set_userdata(['product_data' =>$product_bytype_array]); 

をしようとした場合

答えて

0

あなたが実際にあなたが期待している形式の配列を生成していることをどのように確認することができます。

次に、保存結果が期待どおりの形式であることを確認します。

// What's in the resulting array that we want to store in the session? 
var_dump($product_type_all_prod); 

$product_bytype_array = array("product_by_type" => $product_type_all_prod); 
$this->session->set_userdata($product_bytype_array); 

//What's in the array in the session 
var_dump($this->session->userdata('product_by_type')); 

これは役立つはずです。

注:これは、CI 3.1.0を使用してセッションをファイルタイプとして、次にデータベースとして設定してテストしました。

+0

正常に動作しません。 – Shaban

+0

セッションにDBまたはファイルを使用していますか。これまでセッションファイルを使ってテストしただけです... – TimBrownlaw

関連する問題