php小代码----求二维数据的差集

<?php
$A = array(array(1,2),array(2,4),array(3,2));
$B = array(array(3,1),array(1,2));

$C = array();
foreach($A as $a){
   $Ck = $a[0].'#'.$a[1];
   $C[$Ck] = 1;
}

$D = array();
foreach($B as $b){
    $Dk = $b[0].'#'.$b[1];
    $D[$Dk] = 1;
}
/*
 * A - B
 */

$A_B = array();
foreach($C as $key => $val){
    if(isset($D[$key])&&$D[$key]==1){
        
    }else{
        $A_B[] = explode('#', $key);
    }
}


var_dump($A_B);
echo '<br/>';
/*
 * B-A
 */
$B_A = array();
foreach($D as $key=>$val){
    if(isset($C[$key])&&$C[$key]==1){
        
    }else{
        $B_A[] = explode('#', $key);
    }
}
var_dump($B_A);


你可能感兴趣的:(PHP,差集)