ホームページ > バックエンド開発 > PHPチュートリアル > PHP多次元配列ソート実装プログラムコード_PHPチュートリアル

PHP多次元配列ソート実装プログラムコード_PHPチュートリアル

WBOY
リリース: 2016-07-20 11:03:27
オリジナル
962 人が閲覧しました

PHPにおける配列のソートには、1次元配列のソートと多次元配列のソートがあります。PHPの配列ソート関数とカスタム関数を使ってデータのソートを実現する具体的な方法を詳しく紹介します。 ​

単一配列ソート

昇順ソート機能

bool sort ( array &$array [, int $sort_flags= SORT_REGULAR ] )

コードは次のとおりです コードをコピー

$fruits = array("レモン", "オレンジ", "バナナ", "リンゴ");
並べ替え($フルーツ);
var_dump($fruits);
?>

-rソート降順--

コードは次のとおりです コードをコピー

$fruits = array("レモン", "オレンジ", "バナナ", "リンゴ");
rsort($fruits);var_dump($fruits);
?>

たとえば、次のような多次元配列があります。

コードは次のとおりですコードをコピー $arr = 配列(
'd' => array('id' => 5, 'name' => 1, 'age' => 7),
'b' => array('id' => 2,'name' => 3,'age' => 4),
'a' => array('id' => 8,'name' => 10,'age' => 5),
'c' => array('id' => 1,'name' => 2,'age' => 2)
);
二次元配列内の年齢項目をソートする必要があります。

PHP の組み込み関数 array_multisort() を使用する必要があります

array_multisort() には列の配列が必要なので、次のコードを使用して列を取得し、並べ替えます。

コードは次のとおりですコードをコピー// 列のリストを取得します

// データをボリュームに従って降順に、エディションに従って昇順に並べ替えます
// $data を最後のパラメータとして使用し、共通キーでソートします
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);

データ収集が並べ替えられ、結果は次のようになります:
巻 | エディション
-------+----------
98 | 2
86 | 1
86 | 6
85 | 6
67 | 2
67 | 7


//カスタム関数:

foreach ($data as $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}
コードは次のとおりです コードをコピー
関数 multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC)
{
If(is_array($multi_array))
{
foreach ($multi_array を $row_array として)
{
if(is_array($row_array))
{
$key_array[] = $row_array[$sort_key];
}
その他
{
false を返す;
}
}
}
それ以外
{
false を返す;
}
Array_multisort($key_array,$sort,$multi_array);
$multi_array を返します;
}


//処理

http://www.bkjia.com/PHPjc/445296.html
コードは次のとおりです コードをコピー
print_r(multi_array_sort($arr,'age'));
//出力
配列
(
[c] => 配列
(
[ID] = & gt; [name] => [年齢] => )

[b] => 配列
(
[id] => 2
[name] => [年齢] => )

[a] => 配列
(
[id] =>8
[name] =>10
[年齢] => )

[d] => 配列
(
[ID] = & gt; [name] => [age] =>7
)

)




実際、並べ替えの際に使用できるメソッドは多数あります。たとえば、arsort()、asort()、ksort()、krsort()、natsort()、natcasesort()、PHP の配列配列に付属する rsort() などです。 、usort()、array_multisort()、uksort()。


www.bkjia.com


tru​​e

http://www.bkjia.com/PHPjc/445296.html

PHPにおける配列のソートには、1次元配列のソートと多次元配列のソートがあります。PHPの配列ソート関数とカスタム関数を使ってデータのソートを実現する具体的な方法を詳しく紹介します。 単数形...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート