PHP 다중배열 정열 How to Sort Multi-dimensional array

배열 요소의 순서는 foreach() 루프를 사용하여 키별로 정렬할 수 있지만 프로세스가 복잡하고 실행 시간이 길다. PHP array_multisort() 함수는 다차원 배열을 키 값으로 정렬하는 쉬운 방법을 제공합니다. 이 예제 코드 스니펫에서는 PHP에서 키를 기준으로 다차원 배열 요소의 순서를 정렬하는 방법을 보여줍니다.

다음 코드는 PHP에서 키로 다차원 배열을 정렬하는 데 도움이 됩니다.

배열의 특정 키 열에서 값을 가져오려면 PHP array_column() 함수를 사용하십시오.
키 값으로 배열을 정렬하려면 PHP array_multisort() 함수를 사용하십시오.
이 예제 코드 스니펫에서 $records 배열을 오름차순으로 정렬하기 위해 first_name 키가 지정되었습니다.

$records = array( 
  array( 
    'first_name' => 'John', 
    'last_name' => 'Doe', 
    'email' => 'john.doe@gmail.com' 
  ), 
  array( 
    'first_name' => 'Gary', 
    'last_name' => 'Riley', 
    'email' => 'gary@hotmail.com' 
  ), 
  array( 
    'first_name' => 'Edward', 
    'last_name' => 'Siu', 
    'email' => 'siu.edward@gmail.com' 
  ), 
  array( 
    'first_name' => 'Betty', 
    'last_name' => 'Simons', 
    'email' => 'simons@example.com' 
  ) 
); 
 
$key_values = array_column($records, 'first_name'); 
array_multisort($key_values, SORT_ASC, $records);

위를 소트하면 아래와 같이 나옵니다.

Array
(
    [0] => Array
        (
            [first_name] => Betty
            [last_name] => Simons
            [email] => simons@example.com
        )

    [1] => Array
        (
            [first_name] => Edward
            [last_name] => Siu
            [email] => siu.edward@gmail.com
        )

    [2] => Array
        (
            [first_name] => Gary
            [last_name] => Riley
            [email] => gary@hotmail.com
        )

    [3] => Array
        (
            [first_name] => John
            [last_name] => Doe
            [email] => john.doe@gmail.com
        )

)