我想在codeigniter 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);
谢谢。
答案 0 :(得分: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对此进行了测试,并将会话配置为文件类型,然后再配置为数据库。