Skip to content

Instantly share code, notes, and snippets.

@nahid
Created December 10, 2018 07:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nahid/0369936e6f3a33de428c02f826c7c83c to your computer and use it in GitHub Desktop.
Save nahid/0369936e6f3a33de428c02f826c7c83c to your computer and use it in GitHub Desktop.
PHP: Merge Multidimensional Array
<?php
function array_merge_value_md(array &$array1, array &$array2)
{
$merged = $array1;
foreach ($array2 as $key => &$value) {
if (is_array($value) && isset($merged[$key]) && is_array($merged[$key])) {
$merged[$key] = array_merge_value_md($merged[$key], $value);
} else {
$k = array_search($value, $merged);
if ($k !== false) {
$merged[$k] = $value;
} else {
if (is_string($key)) {
$merged[$key] = $value;
} else {
$merged[] = $value;
}
}
}
}
return $merged;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment