1 $a = array(1,3,6,10,29,37,44);
2 $b = array(2,5,14,19,28,55,73);
3 $c = array();
4
5 $countA = count($a);
6 $countB = count($b);
7
8 $pointA = 0;
9 $pointB = 0;
10
11 while($pointA < $countA || $pointB < $countB){ //结束条件是两个数组的指针都大于数组的数量
12 if($pointA < $countA && $pointB < $countB){ //分三种情况,两个数组都有数据
13 if($a[$pointA] > $b[$pointB]){ //如果a数组中的大于b数组的,那么把小的一个放在c数组,然后b数组中的指针加1
14 $c[] = $b[$pointB];
15 //echo $pointB;
16 $pointB++;
17 }else{
18 $c[] = $a[$pointA]; //否则的话把a数组的中数组放在c数组中,a的指针加1
19 //echo $pointB;
20 $pointA++;
21 }
22 }elseif($pointA >= $countA){ //a数组的没有数据了
23 $c[] = $b[$pointB];
24 $pointB++;
25 }elseif($pointB >= $countB){
26 $c[] = $a[$pointA];
27 $pointA++;
28 }
29 }
30 echo "<pre>";
31 print_r($c);