PHP 多維數組進行排序
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-07-25 08:42:52
- /*
- function:二维数组按指定的键值排序
- $array=array(
- 0=>array('id'=>8,'username'=>'phpernote'),
- 1=>array('id'=>9,'username'=>'com'),
- 2=>array('id'=>5,'username'=>'www')
- );
-
- 现在需要将这个二维数组按id升序排列,则:
-
- array_sort($array,'id','asc');
-
- */
- public function array_sort($array,$keys,$type='asc'){
- if(!isset($array) || !is_array($array) || empty($array)){
- return '';
- }
- if(!isset($keys) || trim($keys)==''){
- return '';
- }
- if(!isset($type) || $type=='' || !in_array(strtolower($type),array('asc','desc'))){
- return '';
- }
- $keysvalue=array();
- foreach($array as $key=>$val){
- $val[$keys] = str_replace('-','',$val[$keys]);
- $val[$keys] = str_replace(' ','',$val[$keys]);
- $val[$keys] = str_replace(':','',$val[$keys]);
- $keysvalue[] =$val[$keys];
- }
- asort($keysvalue); //key值排序
- reset($keysvalue); //指针重新指向数组第一个
- foreach($keysvalue as $key=>$vals) {
- $keysort[] = $key;
- }
- $keysvalue = array();
- $count=count($keysort);
- if(strtolower($type) != 'asc'){
- for($i=$count-1; $i>=0; $i--) {
- $keysvalue[] = $array[$keysort[$i]];
- }
- }else{
- for($i=0; $i<$count; $i ){
- $keysvalue[] = $array[$keysort[$i]];
- }
- }
- return $keysvalue;
- }
复制代码
|
PHP
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31