ホームページ >バックエンド開発 >PHPチュートリアル >ユニバーサル 2 次元配列ソート アルゴリズム関数

ユニバーサル 2 次元配列ソート アルゴリズム関数

WBOY
WBOYオリジナル
2016-07-25 09:01:56960ブラウズ
ユニバーサル 2 次元配列ソート アルゴリズム関数再版アドレス: http://blog.qita.in/?post=468
  1. //二次元配列のソート、$arrはデータ、$keysはソートのキー値、$orderはソート規則、1は昇順、0は降順です
  2. function array_sort($arr, $keys, $order=0) {
  3. if (!is_array($arr)) {
  4. return false;
  5. }
  6. $keysvalue = array();
  7. foreach($arr as $key => $val) {
  8. $keysvalue[$key] = $val[$keys];
  9. }
  10. if($order == 0){
  11. asort($keysvalue);
  12. }else {
  13. arsort ($keysvalue);
  14. }
  15. reset($keysvalue);
  16. foreach($keysvalue as $key => $vals) {
  17. $keysort[$key] = $key;
  18. }
  19. $ new_array = array();
  20. foreach($keysort as $key => $val) {
  21. $new_array[$key] = $arr[$val];
  22. }
  23. return $new_array;
  24. }
  25. //eg
  26. $arr = array('0'=>array('a'=>2,'b'=>4,'c'=>3),
  27. '1'=>array('a'=>45,'b'=>3,'c'=>3),
  28. '2'=>array('a'=>2 ,'b'=> ;7,'c'=>3),
  29. );
  30. $new_array = array_sort($arr,'a',0);
  31. print_r($new_array);
コードをコピー


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