本文整理汇总了PHP中Arrays::mergeRecursive方法的典型用法代码示例。如果您正苦于以下问题:PHP Arrays::mergeRecursive方法的具体用法?PHP Arrays::mergeRecursive怎么用?PHP Arrays::mergeRecursive使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Arrays
的用法示例。
在下文中一共展示了Arrays::mergeRecursive方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: mergeRecursive
/**
* This function does indeed merge arrays, but it converts values with duplicate
* keys to arrays rather than overwriting the value in the first array with the duplicate
* value in the second array, as array_merge does. I.e., with array_merge_recursive,
* this happens (documented behavior):
*
* <code>
* array_merge_recursive(array('key' => 'org value'), array('key' => 'new value'));
* $result = array('key' => array('org value', 'new value'));
* </code>
*
* Arrays::mergeRecursive does not change the datatypes of the values in the arrays.
* Matching keys' values in the second array overwrite those in the first array, as is the
* case with array_merge, i.e.:
* <code>
* Arrays::mergeRecursive(array('key' => 'org value'), array('key' => 'new value'));
* $result = array('key' => 'new value');
* </code>
* Parameters are passed by reference, though only for performance reasons. They're not
* altered by this function.
*
* @param array $firstArray
* @param array $secondArray
* @return array
* @author Daniel <daniel (at) danielsmedegaardbuus (dot) dk>
* @author Funivan <dev (at) funivan (dot) com>
*/
public static function mergeRecursive(array $firstArray, array $secondArray)
{
$merged = $firstArray;
foreach ($secondArray as $key => $value) {
if (is_array($value) && isset($merged[$key]) && is_array($merged[$key])) {
$merged[$key] = Arrays::mergeRecursive($merged[$key], $value);
} else {
$merged[$key] = $value;
}
}
return $merged;
}