「My 野鳥図鑑」の野鳥の並びを五十音順にした。
以下、PHPソースの抜粋(説明のため、実際よりはシンプルにしてある)。野鳥データは適時順番を考えずに多次元連想配列に。
$birds[] = array( '名前' => 'ルリビタキ', '場所' => '武田尾', '年月' => '2020.2', ... ); $birds[] = array( '名前' => 'ジョウビタキ', '場所' => '淡路島公園', '年月' => '2020.2', ... ); $birds[] = array( '名前' => 'キビタキ', '場所' => '神戸森林植物園', '年月' => '2020.5', ... );
これを五十音順にするために並び替える。連想配列のキー項目が全て同じならasort()で出来る。
asort($birds);
連想配列のキー項目の有無が一定でない場合。(例えば、'場所'や'年月'がないなど。)asort()では'名前'で五十音順にならないため、array_multisort()を使う。
foreach ((array) $birds as $key => $value) { $sort[$key] = $value['名前']; } array_multisort($sort, SORT_ASC, $birds);
並び替えたデータの表示。
<?php foreach ($birds as $bird) { ?> <?= $bird['名前'] ?> <?= $bird['場所'] ?> <?= $bird['年月'] ?> <?php } ?>