我正在尝试使用以下代码从 Yii 中的会话数组中删除一个元素。
$session = Yii::app()->session;
$arraylen = count($session['the_variable']);
for ($i = 0; $i < $arraylen; $i++)
{
if ($session['the_variable'][$i] == $providerId)
{
unset($session['the_variable'][$i]);
}
}
但它显示错误
间接修改CHttpSession的重载元素无效
我尝试使用array_splice($session['the_variable'],$i,$i-1);
而不是 unset 。然后它也显示相同的错误。有什么方法可以从会话数组中删除元素吗?我使用 2 个不同的控制器操作插入会话数组并从会话数组中删除元素。
使用代码插入 Iam
$session = Yii::app()->session;
if (!isset($session['the_variable']) || count($session['the_variable']) == 0)
{
$session['the_variable'] = array($providerId);
} else
{
$myarr = $session['the_variable'];
$myarr[] = $providerId;
$session['the_variable'] = $myarr;
}
array('session' => $session);
插入运行良好,但删除不起作用。