" method="post"> 我想在用户选择“删除”时从 session 数组-6ren">
gpt4 book ai didi

php - 如何从 PHP session 数组中删除变量

转载 作者:行者123 更新时间:2023-11-29 16:06:46 26 4
gpt4 key购买 nike

我有用于向 session 添加变量的 PHP 代码:

<?php
session_start();
if(isset($_GET['name']))
{
$name = isset($_SESSION['name']) ? $_SESSION['name'] : array();
$name[] = $_GET['name'];
$_SESSION['name'] = $name;
}
if (isset($_POST['remove']))
{
unset($_SESSION['name']);
}
?>
<pre> <?php print_r($_SESSION); ?> </pre>

<form name="input" action="index.php?name=<?php echo $list ?>" method="post">
<input type="submit" name ="add"value="Add" />
</form>

<form name="input" action="index.php?name=<?php echo $list2 ?>" method="post">
<input type="submit" name="remove" value="Remove" />
</form>

我想在用户选择“删除”时从 session 数组中删除 $list2 中显示的变量。

但是当我取消设置时,数组中的所有变量都被删除。

如何只删除一个变量?

最佳答案

if (isset($_POST['remove'])) {
$key=array_search($_GET['name'],$_SESSION['name']);
if($key!==false)
unset($_SESSION['name'][$key]);
$_SESSION["name"] = array_values($_SESSION["name"]);
}

由于 $_SESSION['name'] 是一个数组,因此您需要找到指向您感兴趣的名称值的数组键。最后一行重新排列数组的索引以供下次使用。

关于php - 如何从 PHP session 数组中删除变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55671455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com