国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP中數組按鍵名和鍵值排序函數

2024-09-04 11:46:01
字體:
來源:轉載
供稿:網友

大家知道,數組排序最常用的函數就是 sort($arr); 它的作用是按數組的鍵值升序排列,并且排序后的數組鍵名不再是原來的鍵名,是按新數組來重新設置的鍵名,而有時我們要求更復雜的排序,如按鍵名排序,這里用到 ksort($arr); 函數,它會根據數組的鍵名排序,并維持原有的鍵值關系,相對應的 asort($arr); 函數,是按鍵值排序,且維持原有的鍵值關系,同樣原理,rsort(); arsort(); krsort(); 函數除了排序是按降序排列外,其它與sort(); rsort(); ksort(); 相同,數組操作是PHP很重要的基礎,希望能好好運用,一維數組例子.

實例代碼如下:

  1. function my_sort($a$b
  2.   { 
  3.   if ($a == $breturn 0; 
  4.   return ($a > $b) ? -1 : 1; 
  5.   } 
  6. $people = array("Swanson" => "Joe",  
  7. "Griffin" => "Peter""Quagmire" => "Glenn"
  8. "swanson" => "joe""griffin" => "peter"
  9. "quagmire" => "glenn"); 
  10. uksort($people"my_sort"); 
  11. print_r ($people); 
  12. ?> 

輸出:

  1. Array 
  2. [swanson] => joe 
  3. [quagmire] => glenn 
  4. [griffin] => peter 
  5. [Swanson] => Joe 
  6. [Quagmire] => Glenn 
  7. [Griffin] => Peter 

如下面這個二維數組,需要按照sort鍵名來排序,那么array_multisort() 就無法直接實現了:

實例代碼如下:

  1. $data[5] = array('volume' => 67, 'edition' => 2);  
  2. $data[4] = array('volume' => 86, 'edition' => 1);  
  3. $data[2] = array('volume' => 85, 'edition' => 6);  
  4. $data[3] = array('volume' => 98, 'edition' => 2);  
  5. $data[1] = array('volume' => 86, 'edition' => 6);  
  6. $data[6] = array('volume' => 67, 'edition' => 7); 
  7. // 準備要排序的數組 
  8. foreach ($data as $k => $v) { 
  9.     $edition[] = $v['edition']; 
  10. array_multisort($edition, SORT_ASC, $data); 
  11. print_r($data);將輸出: 
  12. Array 
  13.     [0] => Array 
  14.         ( 
  15.             [volume] => 86 
  16.             [edition] => 1 
  17.         ) 
  18.     [1] => Array 
  19.         ( 
  20.             [volume] => 67 
  21.             [edition] => 2 
  22.         ) 
  23.     [2] => Array 
  24.         ( 
  25.             [volume] => 98 
  26.             [edition] => 2 
  27.         ) 
  28.     [3] => Array 
  29.         ( 
  30.             [volume] => 85 
  31.             [edition] => 6 
  32.         ) 
  33.     [4] => Array 
  34.         ( 
  35.             [volume] => 86 
  36.             [edition] => 6 
  37.         ) 
  38.     [5] => Array 
  39.         ( 
  40.             [volume] => 67 
  41.             [edition] => 7 
  42.         ) 

•sort() 函數用于對數組單元從低到高進行排序,

•rsort() 函數用于對數組單元從高到低進行排序,

•asort() 函數用于對數組單元從低到高進行排序并保持索引關系,

•arsort() 函數用于對數組單元從高到低進行排序并保持索引關系,

•ksort() 函數用于對數組單元按照鍵名從低到高進行排序,

•krsort() 函數用于對數組單元按照鍵名從高到低進行排序.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴义市| 上虞市| 无锡市| 福海县| 吴旗县| 永寿县| 房产| 安康市| 班戈县| 平安县| 芜湖市| 淮安市| 锦屏县| 紫阳县| 乌鲁木齐县| 景东| 如东县| 井陉县| 贵州省| 桓台县| 柳河县| 庆城县| 永春县| SHOW| 溆浦县| 铁岭县| 双峰县| 佛坪县| 新竹县| 台安县| 石狮市| 明溪县| 邹平县| 旺苍县| 乐山市| 松原市| 海盐县| 巴林右旗| 阿巴嘎旗| 广元市| 丹阳市|