次のコードを使用して、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);
挿入はうまくいきますが、削除はうまくいきません。