PHP中数组按键名和键值排序函数

大家知道,数组排序最常用的函数就是 sort($arr); 它的作用是按数组的键值升序排列,并且排序后的数组键名不再是原来的键名,是按新数组来重新设置的键名,而有时我们要求更复杂的排序,如按键名排序,这里用到 ksort($arr); 函数,它会根据数组的键名排序,并维持原有的键值关系,相对应的 asort($arr); 函数,是按键值排序,且维持原有的键值关系,同样原理,rsort(); arsort(); krsort(); 函数除了排序是按降序排列外,其它与sort(); rsort(); ksort(); 相同,数组操作是PHP很重要的基础,希望能好好运用,一维数组例子.

实例代码如下:

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

输出:

  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() 函数用于对数组单元按照键名从高到低进行排序.

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » PHP中数组按键名和键值排序函数

1 评论

  1. Hi, just required you to know I he added your site to my Google bookmarks due to your layout. But seriously, I believe your internet site has 1 in the freshest theme I??ve came across. Metropol Halı Karaca Halı Öztekin ve Selçuklu Halı Cami Halısı ve Cami Halıları Türkiye’nin En Büyük Cami Halısı Fabrikasıyız…

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡