将函数映射到数组或对象的所有非可迭代元素。

原型

map_deep( mixed $value, callable $callback )

描述

这与array_walk_recursive()类似,但也对对象起作用。

参数

$value (mixed) (Required) 数组,对象或标量。

$callback (callable) (Required) 映射到$ value的函数。

返回值

(mixed)  回调值应用于其中的所有非数组和非对象。

源文件

路径:wp-includes/formatting.php

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

其他

英文文档:https://developer.wordpress.org/reference/functions/map_deep/