php 二维数组按指定的键值排序

以前我们有讲过各种php数组排序的方法,同时php也提供了大量的数据排序函数,sort(),asort(),arsort()等,下面我来给各位同学介绍二维数组按指定的键值排序的方法,具体实例代码如下:

  1. /*二维数组按指定的键值排序*/ 
  2. function array_sort($array,$keys,$type='asc'){ 
  3.  if(!isset($array) || !is_array($array) || emptyempty($array)){ 
  4.   return ''
  5.  } 
  6.  if(!isset($keys) || trim($keys)==''){ 
  7.   return ''
  8.  } 
  9.  if(!isset($type) || $type=='' || !in_array(strtolower($type),array('asc','desc'))){ 
  10.   return ''
  11.  } 
  12.  $keysvalue=array(); 
  13.  foreach($array as $key=>$val){ 
  14.   $val[$keys] = str_replace('-','',$val[$keys]); 
  15.   $val[$keys] = str_replace(' ','',$val[$keys]); 
  16.   $val[$keys] = str_replace(':','',$val[$keys]); 
  17.   $keysvalue[] =$val[$keys]; 
  18.  } 
  19.  asort($keysvalue); //key值排序 
  20.  reset($keysvalue); //指针重新指向数组第一个 
  21.  foreach($keysvalue as $key=>$vals) { 
  22.   $keysort[] = $key
  23.  } 
  24.  $keysvalue = array(); 
  25.  $count=count($keysort); 
  26.  if(strtolower($type) != 'asc'){ 
  27.   for($i=$count-1; $i>=0; $i–) { 
  28.    $keysvalue[] = $array[$keysort[$i]]; 
  29.   } 
  30.  }else
  31.   for($i=0; $i<$count$i++){ 
  32.    $keysvalue[] = $array[$keysort[$i]]; 
  33.   } 
  34.  } 
  35.  return $keysvalue

使用方法,代码如下:

  1. $a=array
  2. 1=>array
  3. id=>1, 
  4. price=>'79'
  5. ), 
  6. 2=>array
  7. id=>1, 
  8. price=>'68'
  9. ), 
  10. ); 

就使用:array_sort($a,'price');

php数组排序函数

sort  (&$arr[,fruits])  对数组进行从低到高排序,并赋予新的键名 返回bool

rsort  (&$arr[,fruits]) 对数组进行逆向排序,并赋予新的键名

asort (&$arr[,fruits]) 对数组进行排序,并保持索引不变

arsort(&$arr[,fruits]) 对数组进行逆向排序,并保持索引不变

ksort (&$arr [,fruits]) 对数组按照键名进行排序

krsort(&$arr [,fruits]) 对组数按照键名进行逆向排序

natsort(&$arr)  对数组键值进行‘自然排序法’按照长度,字母排序等

natcasesort(&$arr) 对数组进行不区分大小写的‘自然排名’

usort (&$arr,cmp_function ) 用户自定义函数对一个数组进行排序,重新排列键名

uksort (&$arr,cmp_function ) 用户自定义函数对一个数组进行键名排序

uasort (&$arr,cmp_function) 用户自定义函数对数组进行排序 并保持索引不变

array_multisort($arr,mixed) 第二个参数是可以根据值改变排序行为

SORT_REGULAR 正常比较单元 SORT_NUMERIC 单元被作为数字来比较 

SORT_STRING 单元被作为字符串来比较 SROT_LOCALE_STRING 根据当前的local 设置来把单元当做字符串比较

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

波比源码 » php 二维数组按指定的键值排序

104 评论

  1. order cialis pills cost cialis 20mg buy sildenafil without prescription

  2. purchase sildalis sale estrace cost lamictal pills

  3. buy singulair 5mg generic cheap viagra sale viagra 100mg over the counter

  4. order lanoxin sale lanoxin 250 mg uk purchase molnupiravir for sale

  5. erectile dysfunction pills over the counter buy proscar 1mg pill finasteride 1mg pill

  6. dapsone buy online cheap atenolol buy tenormin paypal

  7. purchase promethazine for sale cialis samples buy tadalafil 10mg generic

  8. cenforce 50mg uk cenforce tablet purchase glucophage for sale

  9. methotrexate 2.5mg uk coumadin 5mg drug order metoclopramide 20mg generic

  10. cheap toradol ketorolac pill order inderal 20mg generic

  11. buy lopressor 50mg generic tenormin 50mg brand how to get medrol without a prescription

  12. cost aurogra 100mg sildalis oral buy estradiol generic

  13. buy dutasteride without prescription zantac 150mg brand meloxicam 15mg cost

  14. buy tadacip 20mg sale order indocin buy indocin pills

  15. she advised him to come back at once example are google forms anonymou

  16. best ed pills non prescription uk cialis sale order tadalafil 40mg for sale

  17. buy avapro 150mg generic clobetasol cheap order buspirone 5mg pills

  18. 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.Seo Uzmani Umut Can Skype: By_uMuT@KRaLBenim.Com

  19. buy fluoxetine cheap buy femara 2.5 mg buy generic letrozole for sale

  20. zebeta online buy cost lozol terramycin 250mg for sale

评论已关闭

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

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