1.20.x bootstrap.inc | backdrop_array_merge_deep() |
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:
$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 = backdrop_array_merge_deep($link_options_1, $link_options_2);
Parameters
...: Arrays to merge.
Return value
The merged array.:
See also
backdrop_array_merge_deep_array()
File
- includes/
bootstrap.inc, line 2929 - Functions that need to be loaded on every Backdrop request.
Code
function backdrop_array_merge_deep() {
return backdrop_array_merge_deep_array(func_get_args());
}