Recursive deleting fields by pattern
<?php
/**
* Recursive deleting fields by pattern
*
* @param array $array Haystack
* @param array $pattern Pattern
*/
public function deleteFields(&$array, $pattern)
{
foreach ($array as $index => &$row) {
$inArray = in_array($index, $pattern, true);
if ($inArray || !is_array($array[$index])) {
if ($inArray) {
unset($array[$index]);
}
continue;
}
$this->deleteFields($array[$index], $pattern);
}
}