本文章主要求介紹了利用php自帶的函數(shù)來實(shí)現(xiàn)數(shù)組進(jìn)行排序,包括了一維數(shù)組排名,多維數(shù)組排序,隨機(jī)排序等.
array_multisort($a,$b),$a,$b是兩個(gè)數(shù)
•sort() 函數(shù)用于對(duì)數(shù)組單元從低到高進(jìn)行排序.
•rsort() 函數(shù)用于對(duì)數(shù)組單元從高到低進(jìn)行排序.
•asort() 函數(shù)用于對(duì)數(shù)組單元從低到高進(jìn)行排序并保持索引關(guān)系.
•arsort() 函數(shù)用于對(duì)數(shù)組單元從高到低進(jìn)行排序并保持索引關(guān)系.
•ksort() 函數(shù)用于對(duì)數(shù)組單元按照鍵名從低到高進(jìn)行排序.
•krsort() 函數(shù)用于對(duì)數(shù)組單元按照鍵名從高到低進(jìn)行排序.
對(duì)多個(gè)數(shù)組排序
array_multisort($a,$b),$a,$b是兩個(gè)數(shù)組,如果排序之后,$a數(shù)組的第3個(gè)元素被排到了第一位,那么$b的第三個(gè)元素不管他在$b中的大小都會(huì)排在第一位.看看下邊的程序運(yùn)行結(jié)果:
實(shí)例代碼如下:
- <?php
- $ar1 = array("10", 100, 100, "a");
- $ar2 = array(1, 3, "2", 1);
- array_multisort($ar1, $ar2);
- var_dump($ar1);
- var_dump($ar2);
- ?>
隨機(jī)排序
實(shí)例代碼如下:
- $array = array('A','2','3','4','5','6','7','8','9','10','J','Q','K');
- shuffle($array);//隨機(jī)排序數(shù)組
- print_r($array);//輸出數(shù)組
對(duì)多維數(shù)組排序?qū)嵗a如下:
- <?php
- $ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));
- array_multisort ($ar[0], SORT_ASC, SORT_STRING,
- $ar[1], SORT_NUMERIC, SORT_DESC);
- ?>
數(shù)組排序最常用的函數(shù)就是 sort($arr); 它的作用是按數(shù)組的鍵值升序排列,并且排序后的數(shù)組鍵名不再是原來的鍵名,是按新數(shù)組來重新設(shè)置的鍵名.
而有時(shí)我們要求更復(fù)雜的排序.如按鍵名排序,這里用到 ksort($arr); 函數(shù),它會(huì)根據(jù)數(shù)組的鍵名排序,并維持原有的鍵值關(guān)系.相對(duì)應(yīng)的 asort($arr); 函數(shù),是按鍵值排序,且維持原有的鍵值關(guān)系
同樣原理,rsort(); arsort(); krsort(); 函數(shù)除了排序是按降序排列外,其它與sort(); rsort(); ksort(); 相同.
數(shù)組操作是PHP很重要的基礎(chǔ)
新聞熱點(diǎn)
疑難解答