1

私は配列を持っています

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

この配列を SESSION に保存しました

$_SESSION["tokens"] = $tokens;

ここで、この配列から要素を削除する必要があります

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

    // remove it from the array

  }

'token3'では、配列から要素を削除するにはどうすればよいです$_SESSION["tokens"]か??

4

3 に答える 3

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

名前が示すように、変数の設定を解除するために使用される「unset()」と呼ばれるメソッドがphpにあります...

$_SESSION 変数で配列を使用しているため、削除する要素のキーを見つける必要があります...

キーを見つけるには、配列で値を検索するだけです。2 つの引数を取る array_search というメソッドがあります。最初の引数は検索する要素で、2 番目の引数は検索する配列です。この場合、配列検索を使用して、トークン配列 $_SESSION['tokens'] で 'token3' を検索します。

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

さて、削除する要素のキーを取得したので、unset メソッドを使用して要素を削除します。

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

お役に立てば幸いです!

于 2013-04-28T13:11:36.080 に答える
0

@Andrey Volkのarray_searchが仕事を引き受けました。ただし、設定を解除する場合は、その配列のキー インデックスを並べ替えて離散を回避するためにarray_valueが必要になる場合があります。

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