Jak*_*chs 12 php arrays session laravel
我试图从Laravel会话阵列中删除项目,但到目前为止没有运气.
我使用Session :: push()方法将我的值存储在Session数组中:
Session::push('event_date_display', Input::get('event_date'));
Session::push('event_start_display', Input::get('event_start'));
Session::push('event_entry_display', Input::get('event_entry'));
Session::push('event_end_display', Input::get('event_end'));
Run Code Online (Sandbox Code Playgroud)
我可以像普通数组一样访问这些值:
@for($i=0;$i<Session::get('dates');$i++)
<tr>
<td>{{ Session::get('event_date_display')[$i] }}</td>
<td>{{ Session::get('event_start_display')[$i] }}</td>
<td>{{ Session::get('event_entry_display')[$i] == '' ? '-' : Session::get('event_entry_display')[$i] }}</td>
<td>{{ Session::get('event_end_display')[$i] == '' ? '-' : Session::get('event_end_display')[$i] }}</td>
<td><a href="{{URL::route('termin-loeschen', $i)}}" class="del"><span class="icon-spam"></span>Loeschen {{ $i }}</a></td>
</tr>
@endfor
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何删除它们.我尝试了Session :: forget('event_date_display')[$ index],但这会删除整个数组.然后我尝试循环和取消设置,这也不起作用.任何帮助表示赞赏.
pat*_*shi 26
当您调用Session::forget('event_data_display')[$index]时,该$index变量无法传递给该forget()方法.所以Laravel不会看到它,并且会取消设置Session数组的整个'event_data_display'索引.
要取消设置该索引的值,您可能需要执行以下操作:
$event_data_display = Session::get('event_date_display');
unset($event_data_display[$index]);
Session::set('event_data_display', $event_data_display);
Run Code Online (Sandbox Code Playgroud)
Laravel的Session支持通过指定的索引添加到数组,如下所示:
Session::push('user.teams', 'developers');
Run Code Online (Sandbox Code Playgroud)
所以你也可以像这样访问数组的索引:
Session::forget('event_data_display.' . $i);
Run Code Online (Sandbox Code Playgroud)
我没试过,但值得一试.
当你调用时Session::get('event_data_display')[$i],可行的原因是因为PHP Session::get('event_data_display') 在查找存储在$i索引中的值之前检索数组值.
当您调用时Session::forget('event_data_display'),该forget()方法只能对传递给它的内容起作用.
| 归档时间: |
|
| 查看次数: |
25987 次 |
| 最近记录: |