php 归并排序 数组交集

  

复制代码 代码如下:

  $a=array('1','2','3','4','22');

  $b=array('1','3','4','11','22','23');

  f($a, $b, 5, 6, $t);

  print_r($t);

  function f(&$a, &$b, $n, $m, &$t){

  $i=0;$j=0;

  while($i<$n && $j<$m){

  if($a[$i]==$b[$j]){

  echo $a[$i]." ";//交集

  $t[]=$a[$i++];

  $t[]=$b[$j++];

  }elseif($a[$i]>$b[$j]){

  $t[]=$b[$j++];

  }else{

  $t[]=$a[$i++];

  }

  }

  while($i<$n){

  $t[]=$a[$i++];

  }

  while($j<$m){

  $t[]=$b[$j++];

  }

  }