我需要从一个深度嵌套的未知结构数组中删除一个元素(即,我不知道要取消设置该元素的键序列是什么)。但是,我要删除的元素确实具有一致的结构 (stdObject),因此我可以搜索整个多维数组以找到它,但必须将其删除。关于如何实现这一点的想法?
编辑:这是我现在试图实现的功能。
function _subqueue_filter_reference(&$where)
{
foreach ($where as $key => $value) {
if (is_array($value))
{
foreach ($value as $filter_key => $filter)
{
if (isset($filter['field']) && is_string($filter['field']) && $filter['field'] == 'nodequeue_nodes_node__nodequeue_subqueue.reference')
{
unset($value[$filter_key]);
return TRUE;
}
}
return _subqueue_filter_reference($value);
}
}
return FALSE;
}
编辑#2:从var_dump
.
array (size=1)
1 =>
array (size=3)
'conditions' =>
array (size=5)
0 =>
array (size=3)
...
1 =>
array (size=3)
...
2 =>
array (size=3)
...
3 =>
array (size=3)
...
4 =>
array (size=3)
...
'args' =>
array (size=0)
empty
'type' => string 'AND' (length=3)
...因此假设将整个结构分配给$array
,我需要删除的元素是$array[1]['conditions'][4]
该目标是具有三个字段的数组:
- 场地
- 价值
- 操作员
...所有这些都是字符串值。