1、查找算法php
一、顺序查找(一个一个查,效率低,不用多说)html
二、二分查找算法
/* php 二分查找 在$a数组里查找$x的位置 $a必须是一个以升序排序后的数组 */ function binsearch($find,$arr){ $count = count($arr); $start = 0; $end = $count-1; while($start<=$end){ $middle = intval(($start+$end)/2); if($arr[$middle]>$find){ $end = $middle-1; }elseif($arr[$middle]<$find){ $start = $middle+1; }else{ return $middle; } } return -1; }
2、排序算法数组
一、冒泡排序函数
冒泡排序 第一次排出最大的数,第二次排出第二大的, $arr=[5,3,5,7,1,9]; function bubblesearch($arr){ $len = count($arr); for($i=1;$i<$len;$i++){ for($j=0;$j<len-$i;$j++){ if($arr[$j+1]<$arr[j]){ $temp = $arr[$j+1]; $arr[j+1] = $arr[j]; $arr[j] = $temp; } } } }
二、自带的排序函数spa
sort() 函数用于对数组单元从低到高进行排序。 rsort() 函数用于对数组单元从高到低进行排序。 asort() 函数用于对数组单元从低到高进行排序并保持索引关系。 arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。 ksort() 函数用于对数组单元按照键名从低到高进行排序。 krsort() 函数用于对数组单元按照键名从高到低进行排序 usort(array,function($a,$b){ if($a>$b){ return 1; }else{ return -1; } })
array_multisort() 这个函数能够对多个PHP数组进行排序,排序结果是全部的数组都按第一个数组的顺序进行排列
三、array_multisort() 实际用法,实现多维数据按照多个字段排序code
例子:按照年龄从大到小的顺序排列,若是年龄相同就按照名字的顺序排序htm
$array[] = array("age"=>20,"name"=>"li"); $array[] = array("age"=>21,"name"=>"ai"); $array[] = array("age"=>20,"name"=>"ci"); $array[] = array("age"=>22,"name"=>"di"); foreach ($array as $key=>$value){ $age[$key] = $value['age']; $name[$key] = $value['name']; } array_multisort($age,SORT_NUMERIC,SORT_DESC,$name,SORT_STRING,SORT_ASC,$array); print_r($array);
本文参考:https://www.cnblogs.com/88phper/p/7825453.htmlblog