龍巖易富通網(wǎng)絡(luò)科技有限公司

龍巖小程序開發(fā),龍巖分銷系統(tǒng)

php基礎(chǔ)篇-二維數(shù)組排序 array_multisort

2015.10.09 | 2076閱讀 | 0條評(píng)論 | php

對(duì)2維數(shù)組或者多維數(shù)組排序是常見的問題,在php中我們有個(gè)專門的多維數(shù)組排序函數(shù),下面簡(jiǎn)單介紹下:

array_multisort(array1,sorting order, sorting type,array2,array3..)是對(duì)多個(gè)數(shù)組或多維數(shù)組進(jìn)行排序的函數(shù)。


array1必需。規(guī)定輸入的數(shù)組。
sorting order可選。規(guī)定排列順序。可能的值是 SORT_ASC 和 SORT_DESC。
sorting type可選。規(guī)定排序類型。可能的值是SORT_REGULAR、SORT_NUMERIC和SORT_STRING。
array2可選。規(guī)定輸入的數(shù)組。
array3可選。規(guī)定輸入的數(shù)組。



參數(shù)中的數(shù)組被當(dāng)成一個(gè)表的列并以行來進(jìn)行排序 - 這類似 SQL 的 ORDER BY 子句的功能。第一個(gè)數(shù)組是要排序的主要數(shù)組。數(shù)組中的行(值)比較為相同的話,就會(huì)按照下一個(gè)輸入數(shù)組中相應(yīng)值的大小進(jìn)行排序,依此類推。

第一個(gè)參數(shù)是數(shù)組,隨后的每一個(gè)參數(shù)可能是數(shù)組,也可能是下面的排序順序標(biāo)志(排序標(biāo)志用于更改默認(rèn)的排列順序)之一:

  • SORT_ASC - 默認(rèn),按升序排列。(A-Z)

  • SORT_DESC - 按降序排列。(Z-A)

隨后可以指定排序的類型:

  • SORT_REGULAR - 默認(rèn)。將每一項(xiàng)按常規(guī)順序排列。

  • SORT_NUMERIC - 將每一項(xiàng)按數(shù)字順序排列。

  • SORT_STRING - 將每一項(xiàng)按字母順序排列

<?php


function my_sort($arrays,$sort_key,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC ){ 

if(is_array($arrays)){ 

foreach ($arrays as $array){ 

if(is_array($array)){ 

$key_arrays[] = $array[$sort_key]; 

}else{ 

return false; 

}else{ 

return false; 

}

array_multisort($key_arrays,$sort_order,$sort_type,$arrays); 

return $arrays; 

}


$person =  array(

array('id'=>1,'name'=>'fj','weight'=>100,'height'=>180),

array('id'=>2,'name'=>'tom','weight'=>53,'height'=>150),

array('id'=>3,'name'=>'jerry','weight'=>120,'height'=>156),

array('id'=>4,'name'=>'bill','weight'=>110,'height'=>190),

array('id'=>5,'name'=>'linken','weight'=>80,'height'=>200),

array('id'=>6,'name'=>'madana','weight'=>95,'height'=>110),

array('id'=>7,'name'=>'jordan','weight'=>70,'height'=>170)

);

var_dump($person);

$person = my_sort($person,'name',SORT_ASC,SORT_STRING);


var_dump($person);

$person = my_sort($person,'weight');


var_dump($person);

?>


這里的重點(diǎn)就是,先把要排序的key存到一個(gè)一維數(shù)組中,然后就可以使用array_multisort()這個(gè)函數(shù),將數(shù)組按照key進(jìn)行排序了,當(dāng)然,這里的排序你完全可以不適用array_multisort()這個(gè)函數(shù),僅僅通過foreach遍歷也能達(dá)到這個(gè)效果,但是既然php開發(fā)者給我們提供了更好的辦法,我們就可以省去不必要的麻煩了。


本文轉(zhuǎn)載:http://blog.csdn.net/fujiafeihudui/article/details/38583331 ,版權(quán)作者所有。

贊 (

發(fā)表評(píng)論

主站蜘蛛池模板: 亚洲欧美日韩综合在线观看不卡顿| 青青草原综合久久大伊人导航| 91精品国产91久久综合| 国产综合成人色产三级高清在线精品发布| 久久综合亚洲鲁鲁五月天| 婷婷五月综合缴情在线视频| 婷婷综合久久中文字幕蜜桃三电影| 色欲色香天天天综合网站| 国产亚洲欧美日韩综合综合二区| 色欲色香天天天综合网站| 亚洲伊人成无码综合网| 国产综合成人色产三级高清在线精品发布| 国产精品日韩欧美久久综合| 欧美日韩国产综合视频在线看| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区| 色婷婷久久综合中文久久蜜桃av| 亚洲综合图片区| 色欲天天婬色婬香视频综合网| 亚洲伊人色欲综合网| 色欲天天婬色婬香视频综合网| 激情综合色五月丁香六月欧美| 激情综合一区二区三区| 久久综合久久综合久久| 综合精品欧美日韩国产在线| 2020久久精品亚洲热综合一本| 久久久综合香蕉尹人综合网| 一本久久综合亚洲鲁鲁五月天| 亚洲狠狠婷婷综合久久久久| 婷婷久久香蕉五月综合加勒比| 精品福利一区二区三区精品国产第一国产综合精品| 国产综合在线观看| 中文字幕亚洲综合久久菠萝蜜| 国产激情电影综合在线看| 亚洲国产一成久久精品国产成人综合| 久久婷婷五月综合色奶水99啪| 亚洲国产综合无码一区二区二三区| 国产精品综合久久第一页| 国产成人亚洲综合一区| 伊人久久综合热线大杳蕉下载| 亚洲成a人v欧美综合天堂| 在线综合亚洲欧美日韩|