public static NestedArray::mergeDeep()
Merges multiple arrays, recursively, and returns the merged array.
This function is similar to PHP's array_merge_recursive() function, but it handles non-array values differently. When merging values that are not both arrays, the latter value replaces the former rather than merging with it.
Example:
1 2 3 4 5 6 7 8 | $link_options_1 = array ( 'fragment' => 'x' , 'attributes' => array ( 'title' => t( 'X' ), 'class' => array ( 'a' , 'b' ))); $link_options_2 = array ( 'fragment' => 'y' , 'attributes' => array ( 'title' => t( 'Y' ), 'class' => array ( 'c' , 'd' ))); // This results in array('fragment' => array('x', 'y'), 'attributes' => array('title' => array(t('X'), t('Y')), 'class' => array('a', 'b', 'c', 'd'))). $incorrect = array_merge_recursive ( $link_options_1 , $link_options_2 ); // This results in array('fragment' => 'y', 'attributes' => array('title' => t('Y'), 'class' => array('a', 'b', 'c', 'd'))). $correct = NestedArray::mergeDeep( $link_options_1 , $link_options_2 ); |
Parameters
array ...: Arrays to merge.
Return value
array The merged array.
See also
File
- core/lib/Drupal/Component/Utility/NestedArray.php, line 294
Class
- NestedArray
- Provides helpers to perform operations on nested arrays and array keys of variable depth.
Namespace
Drupal\Component\Utility
Code
1 2 3 | public static function mergeDeep() { return self::mergeDeepArray(func_get_args()); } |
Please login to continue.