本文章总结了php中数组的交集,并集,以及去除数组的重复项,以及从小到大排序函数,几乎都是对数组的操作有需要的朋友可参考参考。
<script>ec(2);</script>
代码如下 | 复制代码 |
//两个数组的并集 $arr1 = array('a','b','c','d','e','f'); //$arr2 = array('a','a','e','a','p','a','a','e'); $arr2 = array('a','a','a','a'); $ilength = count($arr1); $jlength = count($arr2); /** * 两个数组的交集 * @param array $arr1 * @param array $arr2 * @autho zhaoya * @return array $arr */ function jiaoji($arr1,$arr2) { $ilength = count($arr1); $jlength = count($arr2); for($i=0;$i { for($j=0;$j { if($arr2[$i] == $arr1[$j]) { $arr[] = $arr2[$i]; break; } } } return $arr; } $arr3 = array(1,10,10,5,90,50,90); $arr4 = array(10,23,50,100,110,80); echo ' ';<br> $time1 = microtime();<br> <br> /*$arr3 = __deleterepeat($arr3);<br> $arr4 = __deleterepeat($arr4);<br> $arr5 = bingji($arr3,$arr4);<br> $arrsort = sort_array($arr5);*/<br> <br> ///经过实验证明 先并集,然后在去除重复值 ,再排序,这样的速度会快一些 <br> ///而先删除 两个数组的重复值,在并集,在排序的话,这样的速度慢点<br> $arr5 = bingji($arr3,$arr4);<br> $arr5 = __deleterepeat($arr5);<br> $arrsort = sort_array($arr5);<br> <br> $time2 = microtime();<br> echo $time1,'<hr>';<br> echo $time2,'<hr>';<br> echo $time2-$time1;<br> <br> print_r($arrsort);<br> //去除重复值(第一种方法)<br> //__deleterepeat($arr2);<br> <br> <br> /**<br> * 去除重复值(第一种方法)<br> * @param array $array<br> * @return array $tmparr<br> * @author zhaoya<br> */<br> function __deleterepeat($array)<br> {<br> $count = count($array);<br> for($i = 0;$i {<br> $change = false;<br> for($j=$i+1;$j {<br> if($array[$i] == $array[$j])<br> {<br> $change=true;<br> break;<br> }<br> }<br> if($change==false)<br> {<br> $tmparr[] = $array[$i];<br> }<br> }<br> return $tmparr;<br> }<br> <br> <br> <br> <br> <br> //去除重复的值 第二种方法<br> <br> $arrayshift = _delrepeat($arr2);<br> $tmparray=array();<br> /***<br> * 去除一维数组重复的值<br> * @param array $arr<br> * @return array $tmparray;<br> * @author zhaoya<br> */<br> function _delrepeat($arr)<br> {<br> for($i=0;$i<count></count> {<br> if(inarray($arr[$i],$tmp))<br> {<br> $tmparray[] = $arr[$i];<br> }<br> }<br> return $tmparray;<br> }<br> <br> /**<br> * 查找变量是否在这个数组里面<br> * @param integer $num<br> * @param array $arr<br> * @author zhaoya<br> * @return boolean<br> *<br> */<br> function inarray($num,$arr)<br> {<br> if($arr)<br> {<br> for($i=0;$i<count></count> {<br> if($arr[$i] == $num)<br> {<br> return false;<br> }<br> return true;<br> }<br> }<br> return true;<br> }<br> <br> <br> <br> <br> <br> /**<br> * 两个数组的并集<br> * @param array $arr1 数组1<br> * @param array $arr2 数组2<br> * @author zhaoya<br> * @return array $arr1<br> */<br> function bingji($arr1,$arr2)<br> {<br> $ilength = count($arr1);<br> $jlength = count($arr2);<br> for($i=0;$i {<br> $change=false;<br> for($j=0;$j {<br> if($arr2[$i] == $arr1[$j])<br> {<br> $change = true;<br> break;<br> }<br> }<br> if($change == false)<br> {<br> $arr1[] = $arr2[$i];<br> }<br> }<br> return $arr1;<br> }<br> <br> /**<br> * 数组排序 从小到大<br> * @param array $arr 数组<br> * @author zhaoya<br> * @return array $arr<br> */<br> function sort_array($arr)<br> {<br> $length = count($arr);<br> <br> for($i=0;$i {<br> for($j=$i+1;$j {<br> if($arr[$i] > $arr[$j])<br> {<br> $tmp = $arr[$i];<br> $arr[$i] = $arr[$j];<br> $arr[$j] = $tmp;<br> }<br> }<br> }<br> return $arr;<br> }<br> <br> <br> <br> <br> ?> |
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
如何修复KB5055612无法在Windows 10中安装?
4 周前ByDDD
<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前By尊渡假赌尊渡假赌尊渡假赌
<🎜>:种植花园 - 完整的突变指南
3 周前ByDDD
北端:融合系统,解释
4 周前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。