2016-10-04 59 views
0

我想在codeigniter userdata會話中存儲多維數組。 當我存儲一個簡單的數組,它工作正常。但在多維度上它什麼都不儲存。有沒有辦法在會話中存儲多維數組。在userdata會話中存儲多維數組codeigniter

我的代碼是:

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

謝謝。

回答

0

,如果你嘗試的類似...

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

您可以檢查你實際上是生成您所期望的格式的數組。

然後檢查存儲結果是否符合您所期望的格式。

// 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

您是否在使用會話的數據庫或文件。我只使用會話文件測試它迄今... – TimBrownlaw