PHP入門 配列関数 自作のルールで配列を並べ替える(usort関数)

usrot関数を利用することで、標準的なソート関数では表現できない順序に基づいてソートできます。

構文:usort関数

usort(array &$array , callable $callback):bool
&$arrayソート対象の配列
$callbackソート規則を表した関数

引数$callback(無名関数)は、以下のルールに則っていなければなりません。

  • 引数は比較する配列要素(2個)
  • 第1引数が第2引数よりも大きい場合は正数、小さい場合は負数、等しい場合は0を返す

例:

<?php
//単位を昇順に準備
$keys = ['十','百','千','万','億','兆','京'];
//ソート対象の配列
$data = ['千','百','億','十','京'];

//指定された単位で配列$dataをソート
usort($data, function($a,$b) use ($keys) {
  return array_search($a, $keys) <=> array_search($b, $keys);
});
print_r($data);
実行結果
実行結果