php一次元と二次元配列のキーソート方法例まとめ、二次元配列の例
この記事の例は、PHP の 1 次元および 2 次元配列のキーソート方法をまとめたものです。参考のためにみんなで共有してください。具体的な方法は以下の通りです
PHP における配列のソートは常に一般的な問題であり、PHP における 1 次元配列と 2 次元配列のソートの実装手順に焦点を当ててみましょう。これは誰にとっても一定の参考になると思います。
機能: 配列を並べ替えます。
説明: バブルソート(1次元配列)(特定のキーでソートされた2次元配列)
ペアごとにソートするデータ要素のサイズを比較し、2 つのデータ要素の順序が逆転していることが判明した場合は、逆転したデータ要素がなくなるまでそれらを入れ替えます。
ソートされた配列 R[1..N] が垂直に構築され、各データ要素が重み付けされたバブルとみなされ、その配列が下から上に向かってスキャンされ、「 . 最後の 2 つの気が上部の軽い気と下部の重い気になるまで、このプロセスを繰り返します。
コードをコピーします コードは次のとおりです:/**
* バブルソート(1次元配列)(特定のキーでソートされた2次元配列)
* ペアごとにソートするデータ要素のサイズを比較し、2 つのデータ要素の順序が逆転していることが判明した場合は、逆転したデータ要素がなくなるまで交換します。
* ソートされた配列 R[1..N] が垂直に組み立てられ、各データ要素が重み付けされたバブルとみなされ、その配列が下から上にスキャンされ、原則に違反するものはすべてスキャンされます。これを何度も繰り返してください。
* 2 つの気の終わりまで、軽い方が上にあり、重い方が下にあります。
*/
関数 bubble_sort($array,$key=null) {
$count = count($array);
if($count
false を返す;
}
for($i = 0; $i
for($j = $count - 1; $j > $i; $j--) {
If($key && isset($array[$key]))){//二次元配列が存在します
If($array[$j][$key] < $array[$j - 1][$key]) {
$tmp = $array[$j];
$array[$j] = $array[$j - 1];
$array[$j - 1] = $tmp;
}
}else{ //一次元配列
If($array[$j] <$array[$j - 1]) {
$tmp = $array[$j];
$array[$j] = $array[$j - 1];
$array[$j - 1] = $tmp;
}
}
}
}
$array を返す;
}
array_multisort 並べ替えメソッド
array_multisort() array を使用して、指定されたキー値に従って 2 桁の配列をソートする方法
この例では、$data という名前の 2 次元配列が定義され、次のようにソートされます
コードをコピーします
コードは次のとおりです:$data[] = array('ボリューム' => 67, 'エディション' => 2);
$data[] = array('ボリューム' => 86, 'エディション' => 1);
$data[] = array('ボリューム' => 85, 'エディション' => 6);
$data[] = array('ボリューム' => 98, 'エディション' => 2);
$data[] = array('ボリューム' => 86, 'エディション' => 6);
$data[] = array('ボリューム' => 67, 'エディション' => 7);
// 列のリストを取得します
foreach ($data as $key => $row) {
$volume[$key] = $row['volume']
$edition[$key] = $row['edition']
;
}
// データをボリュームに従って降順に、エディションに従って昇順に並べ替えます
// $data を最後のパラメータとして使用し、共通キーでソートします
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
print_r($data);
実行後の出力結果は以下の通りです。
コードをコピーします
コードは次のとおりです:
配列
(
[0] => 配列
(
[ボリューム] => 98
[エディション] =>
)
[1] => 配列
(
[ボリューム] => 86
[エディション] =&gt;
)
[2] => 配列
(
[ボリューム] => 86
[エディション] =>
[3] => 配列
(
[ボリューム] => 85
[エディション] =>
)
[4] => 配列
(
[ボリューム] => 67
[エディション] =>
)
[5] => 配列
(
[ボリューム] => 67
[エディション] =>
)
)
1 次元配列をソートするには、sort() を使用するだけで済みます。対応する asort($arr); 関数は、キー値でソートし、元のキーと値の関係を維持します。
rsort(); krsort(); 関数は、ソートが降順である点を除き、同じです。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/910587.html
www.bkjia.com
本当http://www.bkjia.com/PHPjc/910587.html技術記事 PHP 1次元および2次元配列のキーソート方法の例まとめ、2次元配列の例 この記事では、PHPの1次元および2次元配列のキーソート方法の例をまとめています。参考のためにみんなで共有してください。具体的な方法は以下の通りです...