ホームページ > バックエンド開発 > PHPチュートリアル > PHP で配列とデータをソートするには?

PHP で配列とデータをソートするには?

Linda Hamilton
リリース: 2025-01-02 15:36:41
オリジナル
926 人が閲覧しました

How to Sort Arrays and Data in PHP?

PHP で配列とデータを並べ替えるにはどうすればよいですか?

基本的な 1 次元配列

これには、オブジェクトの配列を含む多次元配列と並べ替えが含まれます。ある配列を別の配列に基づいて並べ替えます。

並べ替え関数:

  • sort
  • rsort
  • asort
  • arsort
  • natsort
  • natcasesort
  • ksort
  • krsort

マルチオブジェクトの配列を含む次元配列

PHP では、複素数値を並べ替えるカスタム比較関数が必要です。

手順:

  1. 2 つの要素を取る比較関数を作成し、戻り値: 要素が等しい場合は

    • 0。
    • 最初の値が小さい場合は 0 より小さい値。
    • 最初の値の場合は 0 より大きい値。
  2. これらのいずれかを使用してください関数:

    • usort
    • uasort
    • uksort

カスタム数値比較

数値で並べ替える場合キー:

function cmp(array $a, array $b) {
    return $a['baz'] - $b['baz'];
}
ログイン後にコピー

オブジェクト

オブジェクトの配列を並べ替える場合:

function cmp($a, $b) {
    return $a->baz - $b->baz;
}
ログイン後にコピー

複数のフィールドによる並べ替え

1 つのフィールドによる主な並べ替えの場合(例: "foo") および別のソートによる二次ソート (例: "baz"):

function cmp(array $a, array $b) {
    if (($cmp = strcmp($a['foo'], $b['foo'])) !== 0) {
        return $cmp;
    } else {
        return $a['baz'] - $b['baz'];
    }
}
ログイン後にコピー

手動順序での並べ替え

特定の順序で並べ替えるには (例: "foo"、"bar"、"baz"):

function cmp(array $a, array $b) {
    static $order = array('foo', 'bar', 'baz');
    return array_search($a['foo'], $order) - array_search($b['foo'], $order);
}
ログイン後にコピー

ある配列を別の配列に基づいて並べ替える

1 つの配列を次の基準に基づいて並べ替えるには別の:

array_multisort($array1, $array2);
ログイン後にコピー

Array_column

PHP 5.5.0 以降では、array_column を使用して特定の列を抽出し、それに応じて配列を並べ替えることができます:

array_multisort(array_column($array, 'foo'), SORT_DESC, $array);
ログイン後にコピー

以上がPHP で配列とデータをソートするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート