+ // Recurse through array keys
+ if ($path) {
+ if (!isset($source[$arrayKey])) {
+ $source[$arrayKey] = [];
+ }
+ $source[$arrayKey] = self::recursiveBuild($path, $value, $source[$arrayKey]);
+ }
+ // Final iteration
+ else {
+ $source[$arrayKey] = $value;
+ }
+ return $source;