php - multidimensional compare two array -
i have 2 arrays
$array1 = array(0=>array('mac'=>'mac0','geo'=>'geo0'),1=>array('mac'=>'mac1','geo'=>'geo1'), 2=>array('mac'=>'mac2','geo'=>'geo2')...); $array2 = array(0=>array('id'=>'id0','gname'=>'gname0'),1=>array('id'=>'id1','gname'=>'gname1'), 2=>array('id'=>'id2','gname'=>'gname2')...); i want compare 2 arrays first array value mac , second array value gname
if value of geo available in value of gname update else note update else
not update
for example if value of array available in array in array2 update
else not update
here wrote code:
$array1 = array(0=>array('mac'=>'mac0','geo'=>'geo0'),1=>array('mac'=>'mac1','geo'=>'geo1'), 2=>array('mac'=>'mac2','geo'=>'geo2')); $array2 = array(0=>array('id'=>'id0','gname'=>'gname0'),1=>array('id'=>'id1','gname'=>'gname1'), 2=>array('id'=>'id2','gname'=>'gname2')); function gluearray($ar1, $ar2) { foreach($ar2 $key=>$value) { if(isset($ar1[$key])) { if(is_array($ar1[$key])) { $ar1[$key] = gluearray($ar1[$key], $value); } else { if($ar1[$key]!==$value) { $ar1[$key] = $value; } } } else { $ar1[$key] = $value; } } return $ar1; } print_r(gluearray($array1, $array2)); result:
array ( [0] => array ( [mac] => mac0 [geo] => geo0 [id] => id0 [gname] => gname0 ) [1] => array ( [mac] => mac1 [geo] => geo1 [id] => id1 [gname] => gname1 ) [2] => array ( [mac] => mac2 [geo] => geo2 [id] => id2 [gname] => gname2 ) )
Comments
Post a Comment