巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
建站专提News

PHP完成归并两个有序数组的体例阐发

一佰互联网站开辟设想(www.taishanly.com) 宣布日期 2020-04-25 14:40:47 阅读数: 115

本文实例报告了PHP完成归并两个有序数组的体例。分享给大师供大师参考,详细以下:

$arr1 = array(1,2,3,4,5,6,7,8);$arr2 = array(3,4,5,7,9,10);//体例1function mergeOrderly1($arr1,$arr2){ $i=0;$j=0; $int = array(); while($i<count($arr1) && $j<count($arr2)){  $int[] = $arr1[$i]<$arr2[$j]?$arr1[$i++]:$arr2[$j++]; } while($i<count($arr1)){  $int[] = $arr1[$i++]; } while($j<count($arr2)){  $int[] = $arr2[$j++]; } //$int = array_merge($int,array_slice($arr1,$i)); //$int = array_merge($int,array_slice($arr2,$j)); return $int;}//体例2function mergeOrderly2($arr1,$arr2){ $arr = array();//界说终究数组容器 $arr2Num = count($arr2);//统计数组长度 $arr1Num = count($arr1); $i1 = 0;//数组1 的轮回标记 $i2 = 0;//数组2 的轮回标记 while($i1 < $arr1Num || $i2 < $arr2Num){//是不是还须要归并  if($i1 < $arr1Num && $i2 < $arr2Num){//当两个数组都不达到开端,情况一   if($arr1[$i1] > $arr2[$i2]){//须要比拟数组1和数组2,小的放入方针数组,并且标记+1    $arr[] = $arr2[$i2];    $i2++;   }else{    $arr[] = $arr1[$i1];    $i1++;   }  }elseif($i1 < $arr1Num && $i2 >= $arr2Num){//数组2 已达到开端,而数组1还为达到,情况二   $arr[] = $arr1[$i1];//间接把数组1的内容拔出到方针数组中   $i1++;  }elseif($i2 < $arr2Num && $i1 >= $arr1Num){//数组1已达到开端,而数组2还未达到,情况三   $arr[] = $arr2[$i2];//间接把数组2的内容拔出到方针数组中   $i2++;  } } return $arr;}print_r(mergeOrderly1($arr1,$arr2));print_r(mergeOrderly2($arr1,$arr2));

运转成果:

Array( [0] => 1 [1] => 2 [2] => 3 [3] => 3 [4] => 4 [5] => 4 [6] => 5 [7] => 5 [8] => 6 [9] => 7 [10] => 7 [11] => 8 [12] => 9 [13] => 10)Array( [0] => 1 [1] => 2 [2] => 3 [3] => 3 [4] => 4 [5] => 4 [6] => 5 [7] => 5 [8] => 6 [9] => 7 [10] => 7 [11] => 8 [12] => 9 [13] => 10)

仔细的读者应当发明了,归并后的数组并不去反复。上面先容一下数组归并后去反复的体例:

1. 双数组去反复

array_unique($arrTest)

2. 大都组去反复

array_keys(array_flip($arr1)+array_flip($arr2))

测试示例:

$arr1 = array(1,2,3,4,5);$arr2 = array(1,2,3,6,7);$arr3 = array("0"=>1,"1"=>2,"2"=>3,"3"=>4,"4"=>5);$arr4 = array("0"=>1,"1"=>2,"2"=>3,"3"=>6,"4"=>7);$arr5 = array("0"=>1,"a"=>2,"b"=>3,"c"=>4,"4"=>5);$arr6 = array("0"=>1,"a"=>2,"c"=>3,"d"=>6,"4"=>7);var_dump(array_merge($arr1, $arr2));var_dump($arr1+$arr2);var_dump(array_keys(array_flip($arr1)+array_flip($arr2)));echo "<br>";var_dump(array_merge($arr3, $arr4));var_dump($arr3+$arr4);var_dump(array_keys(array_flip($arr3)+array_flip($arr4)));echo "<br>";var_dump(array_merge($arr5, $arr6));var_dump($arr5+$arr6);

运转成果:

array(10) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) [5]=> int(1) [6]=> int(2) [7]=> int(3) [8]=> int(6) [9]=> int(7) } array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) } array(7) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) [5]=> int(6) [6]=> int(7) } array(10) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) [5]=> int(1) [6]=> int(2) [7]=> int(3) [8]=> int(6) [9]=> int(7) } array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) } array(7) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) [5]=> int(6) [6]=> int(7) } array(8) { [0]=> int(1) ["a"]=> int(2) ["b"]=> int(3) ["c"]=> int(3) [1]=> int(5) [2]=> int(1) ["d"]=> int(6) [3]=> int(7) } array(6) { [0]=> int(1) ["a"]=> int(2) ["b"]=> int(3) ["c"]=> int(4) [4]=> int(5) ["d"]=> int(6) } 

更多对于PHP相干内容感乐趣的读者可检查本站专题:《PHP数组(Array)操纵技能大全》、《PHP数学运算技能总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《PHP常常利用遍历算法与技能总结》、《PHP数据布局与算法教程》及《php法式设想算法总结》

但愿本文所述对大师PHP法式设想有所赞助。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站制作、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站制作设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。更多资讯:tags标签

相干消息more

18
04月
网站404页面应当若何设置? 浅析网站404

404页面是网站优化中必不可少的根本优化之一,跟着网站经营时候的不时耽误,网站上本来的网页内容能够会被删除,可是该网页的链接地点常常会以各类... >>概况

29
04月
php取得url参数中具备&的值的体例

现实在名目历程中,咱们常常会碰到要获得上一页地点的途径。你能够前往上一页利用 复制代码 代码以下: <script>window... >>概况

29
07月
数字化时期,企业若何构建新型产物平台完成增加

分享 数字化经济的到来,挪动互联网盈利的干涸,企业... >>概况

26
11月
因公司自助建站软件开辟需要,雇用PHP法式员

重庆楚捷科技无限公司是一家有着8年网站扶植办事的万州互联网公司,旗上品牌一佰互联在国际供给假造主机,域名注册,邮局等办事,自立研发了国际一流... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站