function _features_remove_ignores in Features 7.2
Helper to removes a set of keys an object/array.
@internal Designed for internal use within
Parameters
object|array $item: An object or array passed by reference.
int[] $ignore_keys: Array of keys to be ignored. Values are the level of the key. Format: $[$key] = $level.
int $level: Level of key to remove. Up to 2 levels deep because $item can still be recursive.
See also
1 call to _features_remove_ignores()
- features_sanitize in ./
features.export.inc - Helper function to "sanitize" an array or object.
File
- ./
features.export.inc, line 1655 - Contains functions that export configuration into feature modules.
Code
function _features_remove_ignores(&$item, $ignore_keys, $level = -1) {
$is_object = is_object($item);
if (!is_array($item) && !is_object($item)) {
return;
}
foreach ($item as $key => &$value) {
if (isset($ignore_keys[$key]) && $ignore_keys[$key] == $level) {
if ($is_object) {
unset($item->{$key});
}
else {
unset($item[$key]);
}
}
elseif ($level < 2 && (is_array($value) || is_object($value))) {
_features_remove_ignores($value, $ignore_keys, $level + 1);
}
}
unset($value);
}