多次元配列の並べ替えスキル: 単次元の並べ替え: sort() 関数を使用する 多次元の並べ替え: コールバック関数 usort() を使用する ネストされた並べ替え: 複数のコールバック関数を使用して、さまざまなフィールドを指定された順序で並べ替える 実際のケース:姓と生年月日 顧客リストの並べ替え
配列の並べ替えは基本的でありながら強力なタスクですPHPで。多次元配列になると、事態はさらに複雑になりますが、適切なテクニックを使用することで、それらを簡単かつ効率的に並べ替えることができます。
一次元ソートの場合、sort()
関数を使用できます:
$array = ['a', 'c', 'b']; sort($array); print_r($array); // ['a', 'b', 'c']
多次元ソート コールバック関数を使用する必要があります:
$array = [ ['name' => 'Alice', 'age' => 30], ['name' => 'Bob', 'age' => 25], ['name' => 'Charlie', 'age' => 35], ]; usort($array, function ($a, $b) { return $a['age'] <=> $b['age']; }); print_r($array); // [ ['name' => 'Bob', 'age' => 25], ['name' => 'Alice', 'age' => 30], ['name' => 'Charlie', 'age' => 35] ]
ネストされたソート 複数のコールバック関数を使用します:
$array = [ ['name' => 'Alice', 'age' => 30], ['name' => 'Bob', 'age' => 25, 'city' => 'New York'], ['name' => 'Charlie', 'age' => 35, 'city' => 'London'], ]; usort($array, function ($a, $b) { if ($a['age'] == $b['age']) { return strcmp($a['city'], $b['city']); } return $a['age'] <=> $b['age']; }); print_r($array); // [ ['name' => 'Bob', 'age' => 25, 'city' => 'New York'], ['name' => 'Alice', 'age' => 30], ['name' => 'Charlie', 'age' => 35, 'city' => 'London'] ]
顧客リストの並べ替え: 顧客の姓と生年月日に基づいて顧客リストを並べ替えます。
$customers = [ ['name' => 'John Doe', 'birthdate' => '1980-01-01'], ['name' => 'Jane Doe', 'birthdate' => '1985-03-08'], ['name' => 'Tom Smith', 'birthdate' => '1975-12-15'], ]; usort($customers, function ($a, $b) { if ($a['name'] == $b['name']) { return strtotime($a['birthdate']) <=> strtotime($b['birthdate']); } return strcmp($a['name'], $b['name']); });
これらのヒントを使用すると、複雑さに関係なく、プロジェクトの PHP 多次元配列を効率的に簡単に並べ替えることができます。
以上がPHP 配列の多次元ソートに関するヒント: 初心者から熟練者までの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。