【发布时间】:2021-04-02 09:00:52
【问题描述】:
我在 PHP Laravel 中有以下一段代码,其中包含对象数组。每个对象有 2 个属性。身份证和姓名。这整个对象被保存在会话中。然后保存后,我从数组中的每个对象中删除 id。这也是在修改会话。
我做错了吗?
$array = [];
$obj = new \stdClass();
$obj->id = "1";
$obj->name = "Test";
array_push($array, $obj);
$request->session()->put('val', $array);
foreach($array as $key => $val) {
unset($array[$key]->id);
}
echo "<pre>";
print_r($request->session()->get('val'));
echo "</pre>";
在这里,我注意到 id 属性从会话中消失了。
【问题讨论】:
-
是的,因为您正在编辑数组的同一个副本。
-
@nice_dev - 你能更正代码吗?
-
未设置有什么意义?您想在会话中保留该数组的单独副本以及通常的数组吗?
-
@nice_dev:我将新数组作为对前端的响应发送。前端不需要id属性,
-
在 2 个不同的框架上拥有前端和后端时,会话是否有用?
标签: php laravel laravel-7 laravel-8