ホームページ  >  記事  >  バックエンド開発  >  PHP で多次元配列のソートを実装する簡単な方法

PHP で多次元配列のソートを実装する簡単な方法

高洛峰
高洛峰オリジナル
2016-12-21 09:08:341213ブラウズ

この記事の例では、PHP で多次元配列のソートを簡単に実装する方法を説明します。参考までに皆さんと共有してください。詳細は次のとおりです。

以前関数を実行していたときは、データを 2 次元配列に入れて並べ替えてから、オンラインで解決策を見つける必要がありました

。このとき、array_multisort 関数が使用されます。array_multisort() 関数は、複数の配列または多次元配列を並べ替えます

まず例を見てみましょう

<?php
$data=array(
0=>array(&#39;one&#39;=>34,&#39;two&#39;=>&#39;d&#39;),
1=>array(&#39;one&#39;=>45,&#39;two&#39;=>&#39;e&#39;),
2=>array(&#39;one&#39;=>47,&#39;two&#39;=>&#39;h&#39;),
3=>array(&#39;one&#39;=>12,&#39;two&#39;=>&#39;c&#39;),
4=>array(&#39;one&#39;=>15,&#39;two&#39;=>&#39;w&#39;),
5=>array(&#39;one&#39;=>85,&#39;two&#39;=>&#39;r&#39;),
);
foreach($data as $val){
$key_arrays[]=$val[&#39;one&#39;];
}
array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$data);
var_dump($data);

出力結果: 次のように、キー値 1 で並べ替えます:

array
 0 => 
  array
   &#39;one&#39; => int 12
   &#39;two&#39; => string &#39;c&#39; (length=1)
 1 => 
  array
   &#39;one&#39; => int 15
   &#39;two&#39; => string &#39;w&#39; (length=1)
 2 => 
  array
   &#39;one&#39; => int 34
   &#39;two&#39; => string &#39;d&#39; (length=1)
 3 => 
  array
   &#39;one&#39; => int 45
   &#39;two&#39; => string &#39;e&#39; (length=1)
 4 => 
  array
   &#39;one&#39; => int 47
   &#39;two&#39; => string &#39;h&#39; (length=1)
 5 => 
  array
   &#39;one&#39; => int 85
   &#39;two&#39; => string &#39;r&#39; (length=1)

php 多次元配列のソート

以下は使いやすいように関数にカプセル化されています

function my_array_multisort($data,$sort_order_field,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC){
foreach($data as $val){
$key_arrays[]=$val[$sort_order_field];
}
array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$data);
rturn $data;
}

この記事が PHP プログラミングの皆様のお役に立てれば幸いです。

PHP で多次元配列のソートを簡単に実装する方法に関するその他の記事については、PHP 中国語 Web サイトに注目してください。


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