PHP - 使用 foreach 取消设置 $_SESSION 变量
PHP - Unset $_SESSION variables using foreach
是否可以使用 foreach
循环取消设置 $_SESSION
变量?这是一个例子。
<?php
session_start();
$_SESSION['one'] = 'one';
$_SESSION['two'] = 'two';
$_SESSION['three'] = 'three';
print_r($_SESSION);
foreach($_SESSION as $value) {
unset($value);
}
session_destroy();
print_r($_SESSION);
?>
我认为这个脚本应该可以工作,但它对我不起作用。它给了我这个输出,没有取消设置变量:
Array ( [one] => one [two] => two [three] => three )
Array ( [one] =>
one [two] => two [three] => three )
可能是与超全局数组有关的问题。我无论如何都可以使用它们的键取消设置变量:
unset($_SESSION['one']);
您必须获取密钥和 unset
$_SESSION[$key]
或通过引用传递您的变量(不确定您是否可以 unset
引用)。
foreach($_SESSION as $key => $value) {
unset($_SESSION[$key]);
}
foreach($_SESSION as &$value) {
unset($value);
}
通过引用传递变量:
foreach($_SESSION as &$value) {
// edit $value
}
取消设置,
unset($_SESSION);
是否可以使用 foreach
循环取消设置 $_SESSION
变量?这是一个例子。
<?php
session_start();
$_SESSION['one'] = 'one';
$_SESSION['two'] = 'two';
$_SESSION['three'] = 'three';
print_r($_SESSION);
foreach($_SESSION as $value) {
unset($value);
}
session_destroy();
print_r($_SESSION);
?>
我认为这个脚本应该可以工作,但它对我不起作用。它给了我这个输出,没有取消设置变量:
Array ( [one] => one [two] => two [three] => three )
Array ( [one] => one [two] => two [three] => three )
可能是与超全局数组有关的问题。我无论如何都可以使用它们的键取消设置变量:
unset($_SESSION['one']);
您必须获取密钥和 unset
$_SESSION[$key]
或通过引用传递您的变量(不确定您是否可以 unset
引用)。
foreach($_SESSION as $key => $value) {
unset($_SESSION[$key]);
}
foreach($_SESSION as &$value) {
unset($value);
}
通过引用传递变量:
foreach($_SESSION as &$value) {
// edit $value
}
取消设置,
unset($_SESSION);