Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将未序列化的元素传递给视图_Php_Arrays_Session_View_Laravel - Fatal编程技术网

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 $

我正在PHP会话中存储一个元素数组。问题是,当我试图直接从视图访问这个数组的元素时,对象是不完整的,我无法访问它的属性

我提出的解决方案是在将元素插入数组之前序列化元素。在调用我的视图之前,我创建了一个新数组,其中的元素与会话中的元素相同,但未序列化

$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,我会得到一个错误,表示对象不完整。基本上,当我将汽车插入一个数组,然后将该数组插入会话时,我似乎失去了访问每辆汽车属性的可能性