本文章总结了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 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사
<garden> : 정원 재배 - 완전한 돌연변이 가이드
4 몇 주 전ByDDD
<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
Clair Abscur : 원정 33 UE-Sandfall 게임 충돌? 3 가지 방법!
2 몇 주 전ByDDD

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

드림위버 CS6
시각적 웹 개발 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경