1

I have an array

$tokens = array('token1','token2','token3','token4','token5','token6');

I have stored this array in SESSION

$_SESSION["tokens"] = $tokens;

Now, I need to remove an element from this array

  if(in_array('token3',$_SESSION["tokens"])) {

    // remove it from the array

  }

So, How can I remove 'token3' element from $_SESSION["tokens"] array??

4

3 回答 3

7
$key = array_search( 'token3', $_SESSION['tokens'] );
unset( $_SESSION['tokens'][$key] );
于 2013-04-28T13:00:33.817 回答
0

@Andrey Volk 的 array_search 接手了这份工作。但是当您取消设置时,您可能需要array_value来使用该数组的键索引以避免离散。

$_SESSION['tokens'] = array_values($_SESSION['tokens']);
于 2013-04-28T13:06:04.650 回答
0

php中有一个名为“unset()”的方法,顾名思义,它用于取消设置变量...

当您在 $_SESSION 变量中使用数组时,您需要找到要删除的元素的键...

要找到键,您只需在数组中搜索一个值。有一个名为 array_search 的方法接受 2 个参数,第一个是要搜索的元素,第二个参数是要搜索的数组。在这种情况下,使用数组搜索在 $_SESSION['tokens'] 的令牌数组中搜索“token3”:

$key = array_search( 'token3', $_SESSION['tokens'] );

好的,现在我们有了要删除的元素的键,所以让我们使用 unset 方法删除元素:

unset( $_SESSION['tokens'][$key] );

希望有帮助!

于 2013-04-28T13:11:36.080 回答