使用php取消设置数组

使用php取消设置数组,php,arrays,unset,Php,Arrays,Unset,我有一个问题,比如我有一个多维数组,如果内部数组包含“edit”,我想删除父数组 数组是这样的 [fields] => Array ( [0] => Array ( [header] => Array ( [fieldName] => edit [displa

我有一个问题,比如我有一个多维数组,如果内部数组包含“edit”,我想删除父数组 数组是这样的

[fields] => Array
    (
        [0] => Array
            (
                [header] => Array
                    (
                        [fieldName] => edit
                        [displayName] => Edit
                        [width] => 40
                        [group] => 0,1,2,3
                        [cssClass] => dgAssetsCentered
                    )

                [visibility] => Array
                    (
                        [showOnStart] => 1
                        [editable] => 
                    )

                [cell] => Array
                    (
                        [type] => link
                        [params] => Array
                            (
                                [label] => Edit
                            )

                    )

                [sort] => Array
                    (
                        [sortable] => 1
                    )

                [validator] => Array
                    (
                        [name] => 
                        [params] => 
                    )

            )

        [1] => Array
            (
                [header] => Array
                    (
                        [fieldName] => OFFERID
                        [displayName] => Offer Id
                        [group] => 0
我想删除数组0,因为内部数组包含“编辑”我可以删除[header]数组无法删除[0]数组。请建议

谢谢 亚历克斯

UPD: 此外,如果要删除数组,如果任何元素等于“编辑”,请尝试以下算法:

foreach($fields AS $key => $array)
{
  foreach($array as $innered)
  {
    if(array_search('edit', $innered)) 
    {
      unset($fields[$key]);
      break;
    }
  }
}
unset(字段)将清除整个阵列


unset(字段[0])
将清除字段数组中的元素0

是否可以发布删除标题数组的代码?
unset($array[“fields”][0])应该可以工作吗?不,它不工作,而且它也是硬编码的。有时编辑可能在另一个位置,因此,您可以尝试数组搜索()“编辑”可以存在于任何键中?还是只在“显示名称”中?为什么不立即取消设置字段,而不是用“编辑”填充字段,然后在那里搜索..这非常有效:)它将取消设置传入的任何变量。看看我答案中的用法,上面是二维的,我们应该递归调用
foreach($fields AS $key => $array)
{
  foreach($array as $innered)
  {
    if(array_search('edit', $innered)) 
    {
      unset($fields[$key]);
      break;
    }
  }
}