PHP 配列のソート: 単一次元から多次元までの詳細な調査

WBOY
リリース: 2024-04-29 16:00:02
オリジナル
212 人が閲覧しました

PHP には、単次元配列の並べ替え用の sort()、rsort()、asort()、arsort() などの豊富な配列並べ替え関数が用意されています。多次元配列の並べ替えには、array_multisort() を使用できます。カスタム関数。複数の列を指定して昇順または降順に並べ替えます。

PHP 配列のソート: 単一次元から多次元までの詳細な調査

#PHP 配列の並べ替え: 単一次元から多次元への詳細な探索

はじめに

配列の並べ替えはプログラミングにおいて非常に重要であり、データの整理やフィルター処理に使用できます。 PHP には、

sort()rsort()asort()arsort()、# など、配列をソートするための関数がいくつか用意されています。 ##natsort()natcasesort() など。

一次元配列のソート

一次元配列のソートは非常に簡単で、次の関数を使用できます。

    sort( )
  • : 配列要素を昇順に並べ替えます。
  • rsort()
  • : 配列要素を降順に並べ替えます。
  • asort()
  • : キーで昇順に並べ替えます。
  • arsort()
  • : キーの降順に並べ替えます。
実際のケース: 製品の一次元配列を名前の昇順に並べ替える

 "iPhone",
    "Samsung" => "Galaxy",
    "Google" => "Pixel",
);

asort($products);

print_r($products);
ログイン後にコピー
出力:

Array
(
    [Apple] => iPhone
    [Google] => Pixel
    [Samsung] => Galaxy
)
ログイン後にコピー

Multi -次元配列のソート

多次元配列をソートする必要がある場合があります。 PHP にはこれを行うためのすぐに使用できる関数はありませんが、カスタム関数を使用して回避できます。

function array_multisort($array, $columns) {
    $temp = [];
    foreach($array as $k => $v) {
        $temp[$k] = [];
        foreach($columns as $key) {
            $temp[$k][$key] = $v[$key];
        }
    }
    array_multisort($temp, SORT_ASC);
    foreach($temp as $k => $v) {
        foreach($columns as $key) {
            $array[$k][$key] = $v[$key];
        }
    }
    return $array;
}
ログイン後にコピー

実践例: 製品名と製品名による多次元配列の並べ替え価格

 "iPhone",
        "price" => 1000,
    ),
    array(
        "name" => "Galaxy",
        "price" => 800,
    ),
    array(
        "name" => "Pixel",
        "price" => 900,
    ),
);

array_multisort($products, ['name', 'price']);

print_r($products);
ログイン後にコピー
出力:

Array
(
    [0] => Array
        (
            [name] => Galaxy
            [price] => 800
        )

    [1] => Array
        (
            [name] => iPhone
            [price] => 1000
        )

    [2] => Array
        (
            [name] => Pixel
            [price] => 900
        )
)
ログイン後にコピー

以上がPHP 配列のソート: 単一次元から多次元までの詳細な調査の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!