連想配列の並べ替え集

ランダムに並べ替える

$words = array(
            array(
            ‘id’ => 0,
            ‘name’ => ‘労’,
            ),
            array(
            ‘id’ => 1,
            ‘name’ => ‘働’,
            ),
            array(
            ‘id’ => 2,
            ‘name’ => ‘審’,
            ),
            array(
            ‘id’ => 3,
            ‘name’ => ‘判’,
            ),
          );
// idの配列を作る
$ids = range(0, count($words)-1);
// idの配列をランダムに並べ替える
shuffle($ids);
// array_multisortを使って元の配列をランダムに並べ替える
array_multisort($ids, $words);

指定したキーで並べ替える

usort()と無名関数を使う(PHP5.3以上)。
上記の配列で、idの降順で並べ替える場合。

usort($words, function($array1, $array2) {
  return $array1['id'] < $array2['id'];
});

idの昇順で並べる場合。

usort($words, function($array1, $array2) {
  return $array1['id'] > $array2['id'];
});