平凡エンジニアによる平凡ブログ

平凡インフラエンジニアがスキルアップを目指してプログラミングやクラウドやサーバといったインフラのアウトプットをしていきます!

【PHP】配列や連想配列の順番を並び替えて表示させたい!

今回のテーマ

配列や連想配列を昇順や降順に並び替えて表示させてみましょう。

サンプルコード

早速サンプルのコードを見てみる。
サンプルコードでは連想配列value値を昇順に並べてみる。(つまり1,2,3,4)

<?php
$name = array(
    "二郎" => "2",
    "四郎" => "4",
    "一郎" => "1",
    "三郎" => "3"
);

// $rankのvalueを昇順(1、2、)に並べ替えて
// print_rで出力します。

asort($name);

print_r($name);
?>


// 出力
Array
(
    [一郎] => 1
    [二郎] => 2
    [三郎] => 3
    [四郎] => 4
)

解説

サンプルコードでは以下のコードで$nameをバリューを基準にして昇順で並びかえを行っている。
2,4,1,3⇒1,2,3,4で並びかえている。
ちなみにバリュー値がアルファベットだとa,b,c,d順に昇順で並び替える。

asort($name);

ちなみにその他配列や連想配列でソートするメソッドには以下のメソッドがあります。
基本は昇順でr(reverse)をつけると降順になるという覚えておく必要がありそう

■ソートに関するメソッド
配列
・sort
配列の要素を昇順に並べる

・rsort
配列の要素を降順に並べる

連想配列
・asort
連想配列のバリューを昇順に並べる

・arsort
連想配列のバリューを降順に並べる

・ksort
連想配列のキーを昇順に並べる

・aksort
連想配列のキーを降順に並べる

まとめ

以上、今回はあっさりしてますが配列と連想配列で微妙に 使うメソッドが違うことは頭の片隅に置いておきましょう!

参考サイト

https://www.tailtension.com/php/1213/