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