I have two 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 to compare the two arrays for the first array value mac and second array value gname
if value of geo is available in the value of gname then update else do note update else do
not update
for example if a value of an array is available in any array in array2 then UPDATE
else do 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 as $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 ) )
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.