Php 如何在$\u POST数组上取消设置密钥?

Php 如何在$\u POST数组上取消设置密钥?,php,Php,我有一些代码来拦截POST请求,然后根据另一个键的值来取消设置另一个键。然而,这部分不起作用 我知道这不是实现这一点的理想方法,但脚本是现有开源平台的附加组件,因此我无法修改现有脚本 if($_POST['id']['txt_10'] == "Initials"){ unset($_POST['id']['id[8]']); }else if($_POST['id']['txt_10'] == "Name"){ unset($_POST['id']['id[1]']); }

我有一些代码来拦截POST请求,然后根据另一个键的值来取消设置另一个键。然而,这部分不起作用

我知道这不是实现这一点的理想方法,但脚本是现有开源平台的附加组件,因此我无法修改现有脚本

if($_POST['id']['txt_10'] == "Initials"){
    unset($_POST['id']['id[8]']);
}else if($_POST['id']['txt_10'] == "Name"){
    unset($_POST['id']['id[1]']);   
}
然而,这段代码什么也不做,甚至不显示错误。使用
var_转储($_POST['id'])我可以看到钥匙仍处于设置状态

--

这是$\u POST['id']数组的var\u转储:

array(7) {
    ["txt_10"]=> string(4) "Name" 
    ["txt_11"]=> string(0) "" 
    [1]=> int(72) 
    [4]=> int(0) 
    [8]=> int(170) 
    ["txt_7"]=> string(7) "wefgweg" 
    [5]=> int(0) 
}

unset($\u POST['id'][8])
将是正确的解决方法

您不应该直接修改
$\u POST
。相反,在变量中获取一个副本并对其进行操作。根据你的密码,我看不出有什么问题。可能帖子本身的
var\u dump
会有所帮助。将其更改为unset($\u post['id']['id'][8])@Andrew由于上述原因,我无法做到这一点。如果您向我们展示$u POST的var_dump,那么处理issue@NanaPartykar那是不正确的,你是对的。我不知道id[]部分是从哪里来的。这很有效。非常感谢。