PHPで値とキーによるソートの方法


  1. asort()関数を使用する方法: asort()関数は、連想配列を値の昇順でソートします。キーと値の関係は維持されます。以下は使用例です。

    $array = array(
       "apple" => 4,
       "banana" => 2,
       "cherry" => 8,
       "date" => 6
    );
    asort($array);
    foreach ($array as $key => $value) {
       echo $key . ": " . $value . "\n";
    }

    出力:

    banana: 2
    apple: 4
    date: 6
    cherry: 8
  2. arsort()関数を使用する方法: arsort()関数は、連想配列を値の降順でソートします。キーと値の関係は維持されます。以下は使用例です。

    $array = array(
       "apple" => 4,
       "banana" => 2,
       "cherry" => 8,
       "date" => 6
    );
    arsort($array);
    foreach ($array as $key => $value) {
       echo $key . ": " . $value . "\n";
    }

    出力:

    cherry: 8
    date: 6
    apple: 4
    banana: 2
  3. uasort()関数を使用する方法: uasort()関数は、連想配列を値でソートする際に、カスタムの比較関数を使用することができます。以下は使用例です。

    $array = array(
       "apple" => 4,
       "banana" => 2,
       "cherry" => 8,
       "date" => 6
    );
    uasort($array, function ($a, $b) {
       if ($a == $b) {
           return 0;
       }
       return ($a < $b) ? -1 : 1;
    });
    foreach ($array as $key => $value) {
       echo $key . ": " . $value . "\n";
    }

    出力:

    banana: 2
    apple: 4
    date: 6
    cherry: 8

以上の方法を使用することで、PHPで連想配列を値とキーでソートすることができます。