WordPress开发者和主题制作者的搜索引擎



map_deep ›

Since4.4.0
已弃用n/a
map_deep ( $value, $callback )
参数: (2)
  • (mixed) $value The array, object, or scalar.
    Required: Yes
  • (callable) $callback The function to map onto $value.
    Required: Yes
返回:
  • (mixed) The value with the callback applied to all non-arrays and non-objects inside it.
定义在:
文档:

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.



源码

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;
}