_rest_array_intersect_key_recursive( array $array1, array $array2 ): array

In this article

Recursively computes the intersection of arrays using keys for comparison.

Parameters

$array1arrayrequired
The array with master keys to check.
$array2arrayrequired
An array to compare keys against.

Return

array An associative array containing all the entries of array1 which have keys that are present in all arguments.

Source

function _rest_array_intersect_key_recursive( $array1, $array2 ) {
	$array1 = array_intersect_key( $array1, $array2 );
	foreach ( $array1 as $key => $value ) {
		if ( is_array( $value ) && is_array( $array2[ $key ] ) ) {
			$array1[ $key ] = _rest_array_intersect_key_recursive( $value, $array2[ $key ] );
		}
	}
	return $array1;
}

Changelog

VersionDescription
5.3.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.