キーによる多次元配列の並べ替え
多次元配列を使用する場合の一般的なタスクは、特定のキーに従って配列を並べ替える必要があることです。たとえば、次の配列について考えてみましょう:
Array ( [0] => Array ( [iid] => 1 [invitee] => 174 [nid] => 324343 [showtime] => 2010-05-09 15:15:00 [location] => 13 [status] => 1 [created] => 2010-05-09 15:05:00 [updated] => 2010-05-09 16:24:00 ) [1] => Array ( [iid] => 1 [invitee] => 220 [nid] => 21232 [showtime] => 2010-05-09 15:15:00 [location] => 12 [status] => 0 [created] => 2010-05-10 18:11:00 [updated] => 2010-05-10 18:11:00 ))
この配列を [status] キーで並べ替えるには、usort 関数とカスタム比較関数を使用できます:
// Define a comparison function function cmp($a, $b) { if ($a['status'] == $b['status']) { return 0; } return ($a['status'] < $b['status']) ? -1 : 1; } // Sort the array using the custom comparison function usort($array, "cmp");
cmp 関数を定義することで、並べ替え時に要素を比較する方法を指定します。この場合、2 つの要素の [status] キーを比較し、$a['status'] が $b['status'] より小さい場合は -1、等しい場合は 0、そうでない場合は 1 を返します。
usort 関数は、比較関数の出力に基づいて配列要素を昇順に並べます。これにより、多次元配列を目的のキー (この場合は [status]) で並べ替えることができます。
以上がusort とカスタム比較関数を使用して、特定のキーで多次元配列をソートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。