Change record status: 
Project: 
Introduced in branch: 
8.x
Description: 

\Drupal\Component\Utility\NestedArray::mergeDeep() was introduced to solve the oddities of PHP's built in array_merge_recursive().

However, it was not always used, causing potential problems for contrib or custom modules.

Now all but one usage of array_merge_recursive() has been removed from core.
When a function is in the critical path, and is called many many times per page, and has little to no possibility of needing the more advanced NestedArray::mergeDeep(), array_merge_recursive() can be used.

// D7
$return = array_merge_recursive($return, $result);

// D8
use Drupal\Component\Utility\NestedArray;
$return = NestedArray::mergeDeep($return, $result);
// D7
$data = call_user_func_array('array_merge_recursive', $settings['data']);

// D8
use Drupal\Component\Utility\NestedArray;
$data = NestedArray::mergeDeepArray($settings['data'])
Impacts: 
Module developers
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done