map_deep() – Maps a function to all non-iterable elements of an array or an object.

You appear to be a bot. Output may be restricted

Description

Maps a function to all non-iterable elements of an array or an object.

This is similar to array_walk_recursive() but acts upon objects too.

Usage

$mixed = map_deep( $value, $callback );

Parameters

$value
( mixed ) required – The array, object, or scalar.
$callback
( callable ) required – The function to map onto $value.

Returns

mixed The value with the callback applied to all non-arrays and non-objects inside it.

Source

File name: wordpress/wp-includes/formatting.php
Lines:

1 to 16 of 16
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;
}
 

 View on GitHub View on Trac