如何删除会话中的数组中的项? PHP

时间:2012-01-17 13:15:07

标签: php arrays session

我有一个包含数组的会话。该数组包含以下数据:

Array ( 
    [0] => /assets/img/user_photos/thumbs/9c2310c2def9981221ec37cbbafe0370.jpg 
    [1] => /assets/img/user_photos/thumbs/286b59eb3dafe2e0cf0df50e45f10250.jpg 
    [2] => /assets/img/user_photos/thumbs/4e6012cc396252594d2a05850b0a35ae.jpg 
    [3] => /assets/img/user_photos/thumbs/49ce9031319203c1911c0b9789a83ffc.jpg 
    [4] => /assets/img/user_photos/thumbs/da21379f3dc80541a087e1c4db5f929a.jpg 
    [5] => /assets/img/user_photos/thumbs/1f46378fdd7dcf7fda580e50ca92a2d0.jpg 
)

我想删除此数组中的项目。当数组存储在会话中时,这怎么可能?

8 个答案:

答案 0 :(得分:7)

使用unset删除数组中的元素。

unset($array[1]);

答案 1 :(得分:2)

在非黑客环境中,superglobal-Array $ _SESSION引用会话中的所有数据。 所以你可以删除一个条目:

unset($_SESSION['indexToYourArray'][0]);

(你没有提到你的索引存储在哪个会话变量中)。如果数组是会话内容,则代码应为:

unset($_SESSION[0]);

答案 2 :(得分:2)

您可以使用

unset($_SESSION['Array_name']['index_tobe_delete']);

OR

$_SESSION['Array_name']['index_tobe_delete'] = "" ;

答案 3 :(得分:1)

您可以使用unset()

<强>例如

$_SESSION['abc'] =  Array ('foo','bar');

删除bar

unset($_SESSION['abc'][1]);

答案 4 :(得分:1)

使用未设置

<?php
unset($_SESSION['array'][0]);
var_dump($_SESSION);
?>

答案 5 :(得分:1)

您可以取消设置数组项:

unset($_SESSION['array'][0]);

答案 6 :(得分:0)

使用此

$array = array(0, 1, 2, 3);

unset($array[2]);
$array = array_values($array);
var_dump($array);

有关详情,请阅读this

答案 7 :(得分:0)

unset($_SESSION['array_name']);