2 arrays match data into 1 array with PHP -


i have 2 array's, first array have example itemid of item, second array have description item. want match data 1 array.

it looks like:

[rginventory] => array     (         [1234567890] => array             (                 [id] => 1234567890                 [classid] => 123456789                 [instanceid] => 987654321                 [amount] => 1                 [pos] => 1             )     )  [rgdescriptions] => array     (         [192837465_918273645] => array             (                 [appid] => 730                 [name] =>             )     ) 

items in arrays don't have same value id, in same order so:

description first item in rginventory in first array inside rgdescriptions.

what should match example id rginventory name rgdescriptions in same array example $backpack = array();?

regards you.

try this:

<?php $array1 = array('rginventory' =>               array(                     '1234567890' => array(                                     'id' => 1234567890,                                     'classid' => 123456789,                                     'instanceid' => 987654321,                                     'amount' => 1,                                     'pos' => 1                                     )                         )                 );  $array2 = array(                'rgdescriptions' => array(                      '192837465_918273645' => array(                             'appid' => 730, 'name' => 'something')                                     )                ); 

create new function combine 2 arrays 1 array:

function array_sum_recursive($data1, $data2) {        if (!is_array($data1) && !is_array($data2)) {         return $data1 + $data2;     }     // deepest array gets precedence     if (!is_array($data2)) {         return $data1;     }     if (!is_array($data1)) {         return $data2;     }      //merge , remove duplicates     $keys = array_unique(array_merge(array_keys($data1), array_keys($data2)));     foreach ($keys $key) {         if (isset($data1[$key]) && isset($data2[$key])) {             $result[$key] = array_sum_recursive($data1[$key], $data2[$key]);          } else if (isset($data1[$key])) {             $result[$key] = $data1[$key];         } else {             $result[$key] = $data2[$key];         }     }     if(empty($result)){         echo "no result";         die();     }else{         return $result;     } } 

put 2 array in 1 array $newarray:

$newonearray = array_sum_recursive($array1, $array2); echo '<pre>'; print_r($newonearray);  ?> 

and this:

array (     [rginventory] => array         (             [1234567890] => array                 (                     [id] => 1234567890                     [classid] => 123456789                     [instanceid] => 987654321                     [amount] => 1                     [pos] => 1                 )          )      [rgdescriptions] => array         (             [192837465_918273645] => array                 (                     [appid] => 730                     [name] =>                 )          )  ) 

hope may help.


Comments