map_deep

函式
map_deep ( $value, $callback )
引數
  • (mixed) $value The array, object, or scalar.
    Required:
  • (callable) $callback The function to map onto $value.
    Required:
返回值
  • (mixed) The value with the callback applied to all non-arrays and non-objects inside it.
定義位置
相關方法
map_meta_capwp_diewp_delete_posthas_excerptwp_date
引入
4.4.0
棄用
-

map_deep: 這是WordPress中的一個函式,它允許你對一個陣列或一個物件遞迴應用一個回撥函式: 這是一個非常強大的函式,可以用來修改複雜資料結構中的資料,如多維陣列或巢狀物件: 該函式需要兩個引數:要對映的資料和應該應用於資料中每個元素的回撥函式。

將一個函式對映到一個陣列或一個物件的所有非迭代元素。

這類似於`array_walk_recursive()`,但也作用於物件。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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;
}
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; }
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;
}

常見問題

FAQs
檢視更多 >