PHP 多次元配列のソート

WBOY
WBOYオリジナル
2016-07-25 08:42:52991ブラウズ
  1. /*
  2. 関数: 指定されたキー値で 2 次元配列をソートします
  3. $array=array(
  4. 0=>array('id'=>8,'username'=>'phpernote' ),
  5. 1=>array('id'=>9,'username'=>'com'),
  6. 2=>array('id'=>5,'username'=>' www' )
  7. );
  8. 次に、この 2 次元配列を ID で昇順に並べ替える必要があります。
  9. array_sort($array,'id','asc');
  10. */
  11. public function array_sort ($array,$keys ,$type='asc'){
  12. if(!isset($array) || !is_array($array) || empty($array)){
  13. return '';
  14. }
  15. if (!isset($keys ) || トリム($keys)==''){
  16. return '';
  17. }
  18. if(!isset($type) || $type=='' || !in_array(strto lower ($type),array ('asc','desc'))){
  19. return '';
  20. }
  21. $keysvalue=array();
  22. foreach($array as $key=>$val){
  23. $ val[$keys] = str_replace('-','',$val[$keys]);
  24. $val[$keys] = str_replace(' ','',$val[$keys]);
  25. $val [$keys] = str_replace (':','',$val[$keys]);
  26. $keysvalue[] =$val[$keys];
  27. }
  28. asort($keysvalue) //キー値の並べ替え
  29. replace($keysvalue); // ポインタを配列の最初のポインタに再ポイントします
  30. foreach($keysvalue as $key=>$vals) {
  31. $keysort[] = $key;
  32. }
  33. $keysvalue = array( );
  34. $count=count($ keysort);
  35. if(strto lower($type) != 'asc'){
  36. for($i=$count-1; $i>=0; $i--) {
  37. $keysvalue[] = $array[ $keysort[$i]];
  38. }
  39. }else{
  40. for($i=0; $i $keysvalue[] = $array[ $keysort[$i]];
  41. }
  42. }
  43. return $keysvalue;
  44. }
コードをコピー

PHP


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。