Asn*_*ore 0 php session-variables
可能重复:
如何取消/销毁除某些特定键以外的所有会话数据?
我有一些以"汽车"开头的会话变量,例如
$_SESSION["cars_registration"];
$_SESSION["cars_make"];
$_SESSION["cars_model"];
$_SESSION["cars_variant"];
.
.
.
$_SESSION["cars_date_created"];
Run Code Online (Sandbox Code Playgroud)
我想知道取消/删除/清空那些以汽车作为前缀的会话变量的代码,如上所述.
到目前为止,我已经实现了这一点,但对于解开它们的代码并不知道.
foreach($_SESSION as $key => $value)
{
if (strpos($key, 'cars_') === 0)
{
// Need to delete / unset the session variables
}
}
Run Code Online (Sandbox Code Playgroud)
请帮帮我
嗯,我很高兴看到php仍然能够忽略明显的明显.
有许多方法可以用循环和各种各样的方法来做到这一点,但是正确的方法是使用一个子数组cars,你可以轻松地一次性销毁.
所以不要创造
$_SESSION["cars_registration"];
$_SESSION["cars_make"];
Run Code Online (Sandbox Code Playgroud)
等等,你会创建:
$_SESSION["cars"]["registration"];
$_SESSION["cars"]["make"];
Run Code Online (Sandbox Code Playgroud)
所以,当你来取消它时,你只需要做:
unset($_SESSION["cars"]);
Run Code Online (Sandbox Code Playgroud)
$_SESSION 可以像任何其他数组一样将数据保存在多维结构中 - 它不需要是一个扁平的值集合.