Example #1
0
 /**
  * 再帰配列マージ
  *
  * @return array
  *
  * @ignore
  * @link http://www.php.net/manual/ja/function.array-merge-recursive.php
  */
 public static function &arrayMergeRecursiveDistinct()
 {
     $aArrays = func_get_args();
     $aMerged = $aArrays[0];
     $max = count($aArrays);
     for ($i = 1; $i < $max; $i++) {
         if (is_array($aArrays[$i])) {
             foreach ($aArrays[$i] as $key => $val) {
                 if (is_array($aArrays[$i][$key])) {
                     $aMerged[$key] = is_array($aMerged[$key]) ? BEAR::arrayMergeRecursiveDistinct($aMerged[$key], $aArrays[$i][$key]) : $aArrays[$i][$key];
                 } else {
                     $aMerged[$key] = $val;
                 }
             }
         }
     }
     return $aMerged;
 }