Php 将未序列化的元素传递给视图
我正在PHP会话中存储一个元素数组。问题是,当我试图直接从视图访问这个数组的元素时,对象是不完整的,我无法访问它的属性 我提出的解决方案是在将元素插入数组之前序列化元素。在调用我的视图之前,我创建了一个新数组,其中的元素与会话中的元素相同,但未序列化Php 将未序列化的元素传递给视图,php,arrays,session,view,laravel,Php,Arrays,Session,View,Laravel,我正在PHP会话中存储一个元素数组。问题是,当我试图直接从视图访问这个数组的元素时,对象是不完整的,我无法访问它的属性 我提出的解决方案是在将元素插入数组之前序列化元素。在调用我的视图之前,我创建了一个新数组,其中的元素与会话中的元素相同,但未序列化 $elements = Session::get('elements'); $elements_unserialized = array(); if($elements != null) { foreach ($elements as $
$elements = Session::get('elements');
$elements_unserialized = array();
if($elements != null)
{
foreach ($elements as $element)
{
array_push($elements_unserialized, unserialize($element));
}
}
return View::make('home')->with('elements', $elements_unserialized);
我想知道是否有人有更好的解决办法
顺便说一下,我使用的是Laravel。要处理会话,您需要序列化()并取消序列化()整个数组,而不是它的元素。您的问题让我有点困惑。。。从视图访问会话阵列不是理想的解决方案吗?序列化它有什么特别的原因吗?我这样做是因为您应该能够将数组传递给视图,或者直接从视图访问会话。让我知道序列化的事情,我们可以从那里开始。为什么您不能从
视图
直接访问元素
?元素是一个包含对象的数组,比如说Cars。如果我试图直接在视图中访问$element->engine,我会得到一个错误,表示对象不完整。基本上,当我将汽车插入一个数组,然后将该数组插入会话时,我似乎失去了访问每辆汽车属性的可能性