これには、オブジェクトの配列を含む多次元配列と並べ替えが含まれます。ある配列を別の配列に基づいて並べ替えます。
並べ替え関数:
PHP では、複素数値を並べ替えるカスタム比較関数が必要です。
手順:
2 つの要素を取る比較関数を作成し、戻り値: 要素が等しい場合は
これらのいずれかを使用してください関数:
数値で並べ替える場合キー:
function cmp(array $a, array $b) { return $a['baz'] - $b['baz']; }
オブジェクトの配列を並べ替える場合:
function cmp($a, $b) { return $a->baz - $b->baz; }
1 つのフィールドによる主な並べ替えの場合(例: "foo") および別のソートによる二次ソート (例: "baz"):
function cmp(array $a, array $b) { if (($cmp = strcmp($a['foo'], $b['foo'])) !== 0) { return $cmp; } else { return $a['baz'] - $b['baz']; } }
特定の順序で並べ替えるには (例: "foo"、"bar"、"baz"):
function cmp(array $a, array $b) { static $order = array('foo', 'bar', 'baz'); return array_search($a['foo'], $order) - array_search($b['foo'], $order); }
1 つの配列を次の基準に基づいて並べ替えるには別の:
array_multisort($array1, $array2);
PHP 5.5.0 以降では、array_column を使用して特定の列を抽出し、それに応じて配列を並べ替えることができます:
array_multisort(array_column($array, 'foo'), SORT_DESC, $array);
以上がPHP で配列とデータをソートするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。