ホームページ >バックエンド開発 >PHPチュートリアル >PHP で 2 次元配列をソートし、カスタム関数を共有する 3 つの方法_PHP チュートリアル
ソートについては、通常、データベースまたは nosql (例: redis) を使用してソートし、それをプログラムに出力して直接使用します。ただし、場合によっては、PHP を介して配列を直接ソートし、データを PHP に保存する必要があります。そのうちの 1 つはオブジェクトと配列ですが、最も処理されるのは配列です。これは、非常に豊富な組み込み関数ライブラリがあるためです (実際、オブジェクトはある程度まで配列として理解することもできます)。特定の機能を大幅に達成します。一般的に使用されるシステム関数には、sort、asort、arsort、ksort、krsort などが含まれます。ここでは主に 2 次元配列をソートするための 2 つの方法について説明します。
1. PHP の組み込み array_multisort 関数を使用して並べ替えます
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'エディション' => 1);
$data[] = array('ボリューム' => 85, 'エディション' => 6);
$data[] = array('ボリューム' => 98, 'エディション' => 2);
$data[] = array('ボリューム' => 86, 'エディション' => 6);
$data[] = array('ボリューム' => 67, 'エディション' => 7);
的 // リストのリスト
$ volume [$ key] = $ row ['edition'];
}
;
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
print_r($data);
出力結果:
foreach ($data as $key => $row)
{
$volume[$key] = $row['volume'];
$edition[$key] = $row[ 「エディション」];
}
print_r($ret);
/**
* @desc arraySort php の二次元配列ソートは、指定されたキーに従って配列をソートします
| desc
* @戻り配列
*/
function arraySort($arr, $keys, $type = 'asc') {
$keysvalue = $new_array = array();
foreach ($arr as $k => $ v){
$keysvalue[$k] = $v[$keys];
}
$type == 'asc' ? asort($keysvalue) : arsort($keysvalue);
reset($keysvalue);
foreach ($keysvalue as $k => $v) {
$new_array[$k] = $arr[$k];
}
return $new_array;
}
?>
出结果:
[エディション] => 6
)
[1] =>配列
(
[エディション] => 1
)
[2] =>配列
(
[エディション] => 6
)
[5] =>配列
(
[エディション] => 7
)
[0] =>配列
(
[エディション] => 2
)
)
3. カスタム関数の並べ替え 2
次の関数は、指定されたキー値に従って指定された 2 次元配列を並べ替えます。まず関数の定義を見てみましょう:
上記は、2 次元配列 $array を 'price' に従って低位から高位にソートすることです。
http://www.bkjia.com/PHPjc/751507.html