php - Multidimentional array difference -
i need find difference between multidimentional arrays
i have arrays :
$arr1 = array( 'test1' => array( 'xxx' => array( 'w1' => array('id' => '5'), 'w2' => array('id' => '2'), 'w3' => array('id' => 'g'), ), 'yyy' => array( 'w1' => array('id' => '4'), 'w2' => array('id' => '1') ), 'zzz' => array( 'w1' => array('id' => '3'), 'w2' => array('id' => '9') ), 'qqq' => array( 'w1' => array('id' => '3'), 'w2' => array('id' => '9') ), ), 'test2' => array( 'xxx' => array( 'w1' => array('id' => '8'), 'w2' => array('id' => '3') ), 'yyy' => array( 'w1' => array('id' => '15'), 'w2' => array('id' => '1') ), 'zzz' => array( 'w1' => array('id' => '5'), 'w2' => array('id' => '2') ), ), ); $arr2 = array( 'test1' => array( 'xxx' => array( 'w1' => array('id' => '5'), 'w2' => array('id' => '2'), 'w3' => array('id' => 'g'), 'w4' => array('id' => 'x'), ), 'yyy' => array( 'w1' => array('id' => '4'), 'w2' => array('id' => '1') ), 'zzz' => array( 'w1' => array('id' => '3'), 'w2' => array('id' => '9') ), ), ); and need remove duplicates need compare first level key, second level key , last level key,value pairs results should that
array( 'test1' => array( 'xxx' => array( 'w4' => array('id' => 'x'), ), ) i try use
function check_key($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } function check_value($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $merged_arr = array_udiff_uassoc($arr2,$arr1,"check_key","check_value"); but function dont compare last level key-value pair in last level . appriciate help
try function.i think helpful you.
$result[] = array_diff_key($arr1, $arr2); print_r($result);
Comments
Post a Comment