map_deep() WordPress Function
The map_deep() function applies a user-defined function to each element of an array, recursively. This is useful for applying a function to a multidimensional array. The function is applied to the deepest level of the array first, and works its way up the array. If you need to apply a function to a multidimensional array, map_deep() is the function you need.
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; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.4.0 | Introduced. |