|
極有可能今后我也會(huì)遇到的。
問題:php不用內(nèi)置函數(shù)對(duì)數(shù)組排序,可能是降序或者升序
第一種方法:傳說中的冒泡法
復(fù)制代碼 代碼如下:
function arraysort($data, $order = 'asc') {
//asc升序 desc降序
$temp = array ();
$count = count ( $data );
if ($count <= 0)
return false; //傳入的數(shù)據(jù)不正確
if ($order == 'asc') {
for($i = 0; $i < $count; $i ++) {
for($j = $count - 1; $j > $i; $j --) {
if ($data [$j] < $data [$j - 1]) {
//交換兩個(gè)數(shù)據(jù)的位置
$temp = $data [$j];
$data [$j] = $data [$j - 1];
$data [$j - 1] = $temp;
}
}
}
} else {
for($i = 0; $i < $count; $i ++) {
for($j = $count - 1; $j > $i; $j --) {
if ($data [$j] > $data [$j - 1]) {
$temp = $data [$j];
$data [$j] = $data [$j - 1];
$data [$j - 1] = $temp;
}
}
}
}
return $data;
}
$data = array (7, 5, 3, 8, 9, 1, 5, 3, 1, 24, 3, 87, 0, 33, 1, 12, 34, 54, 66, 32 );
var_dump ( arraysort ( $data ) ); //升序
echo ('<br>');
var_dump ( arraysort ( $data ,'desc') );//降序
第二種方法:不知道取個(gè)什么名字好,就叫插入法吧! 主站蜘蛛池模板: 醴陵市| 正镶白旗| 鹤庆县| 荥阳市| 紫云| 康乐县| 自贡市| 永靖县| 江陵县| 石渠县| 集贤县| 阳山县| 江孜县| 邻水| 米林县| 武乡县| 聂拉木县| 承德市| 罗甸县| 新宁县| 运城市| 克拉玛依市| 靖宇县| 伊吾县| 苍南县| 伊通| 大丰市| 凤翔县| 陈巴尔虎旗| 博罗县| 托里县| 开鲁县| 故城县| 宁乡县| 吉林省| 图木舒克市| 临江市| 略阳县| 灯塔市| 石棉县| 兴隆县|