map_deep( mixed $value, callable $callback )
Maps a function to all non-iterable elements of an array or an object.
Description
This is similar to array_walk_recursive() but acts upon objects too.
Parameters
- $value
-
(mixed) (Required) The array, object, or scalar.
- $callback
-
(callable) (Required) The function to map onto $value.
Return
(mixed) The value with the callback applied to all non-arrays and non-objects inside it.
Source
File: wp-includes/formatting.php
function map_deep( $value, $callback ) {
if ( is_array( $value ) ) {
foreach ( $value as $index => $item ) {
$value[ $index ] = map_deep( $item, $callback );
}
} elseif ( is_object( $value ) ) {
$object_vars = get_object_vars( $value );
foreach ( $object_vars as $property_name => $property_value ) {
$value->$property_name = map_deep( $property_value, $callback );
}
} else {
$value = call_user_func( $callback, $value );
}
return $value;
} Changelog
| Version | Description |
|---|---|
| 4.4.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/map_deep