note 91049 added to function.array-merge-recursive
| From: | michiel at synetic dot nl | Date: | Fri, 22 May 2009 08:54:20 +0000 |
| Subject: | note 91049 added to function.array-merge-recursive | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-155871@lists.php.net to get a copy of this message | ||
A small improvement upon the previously posted array_merge_recursive_distinct functions (based on
daniel's version). This implementation preserves the parameter input from the original, you can
pass an infinite amount of array's to merge.
<?php
function &array_merge_recursive_distinct()
{
$aArrays = func_get_args();
$aMerged = $aArrays[0];
for($i = 1; $i < count($aArrays); $i++)
{
if (is_array($aArrays[$i]))
{
foreach ($aArrays[$i] as $key => $val)
{
if (is_array($aArrays[$i][$key]))
{
$aMerged[$key] = is_array($aMerged[$key]) ?
PR::array_merge_recursive_distinct($aMerged[$key], $aArrays[$i][$key]) : $aArrays[$i][$key];
}
else
{
$aMerged[$key] = $val;
}
}
}
}
return $aMerged;
}
?>
----
Server IP: 213.249.64.162
Probable Submitter: 85.144.248.137
----
Manual Page -- http://www.php.net/manual/en/function.array-merge-recursive.php
Edit -- https://master.php.net/note/edit/91049
Del: integrated -- https://master.php.net/note/delete/91049/integrated
Del: useless -- https://master.php.net/note/delete/91049/useless
Del: bad code -- https://master.php.net/note/delete/91049/bad+code
Del: spam -- https://master.php.net/note/delete/91049/spam
Del: non-english -- https://master.php.net/note/delete/91049/non-english
Del: in docs -- https://master.php.net/note/delete/91049/in+docs
Del: other reasons-- https://master.php.net/note/delete/91049
Reject -- https://master.php.net/note/reject/91049
Search -- https://master.php.net/manage/user-notes.php