PHP 배열 정렬은 실제로 PHP 배열을 정렬하는 것입니다. 이 기사에서는 데이터베이스 쿼리의 결과 집합을 정렬합니다. mysql에서 in 문을 사용하여 얻은 결과와 같이 데이터베이스 쿼리 결과를 직접 사용할 수 없는 경우가 있으므로 결과를 어떤 방식으로든 정렬해야 합니다. 이때 PHP 배열을 정렬해야 합니다. 데이터베이스 결과를 정렬하려면 다음 예를 참조하십시오.
이 예에서 데이터 배열의 각 셀은 테이블의 행을 나타냅니다. 이는 데이터베이스가 배열 데이터를 저장하는 일반적인 방법입니다.
예제의 데이터는 다음과 같습니다.
볼륨 |
------+---------
67 |2
86 | 1
85 | 6
98 | 2
86 |6
7
데이터는 모두 data라는 배열에 저장됩니다. 이는 일반적으로 mysql_fetch_assoc()과 같은 루프를 통해 데이터베이스에서 얻은 결과입니다(실제로 이 함수는 mysql_fetch_assoc() 함수와 동일하다고 생각할 수 있습니다. 구체적인 차이점은 다음에서 키의 차이를 읽을 수 있습니다. PHP 매뉴얼).
$data[] = array('볼륨' => 67, '에디션' => 2);
$data[] = array('볼륨' => 86, '에디션' => 1);
$data[] = array('볼륨' => 85, '에디션' => 6);
$data[] = array('볼륨' => 98, '에디션' => 2);
$data[] = array('볼륨' => 86, '에디션' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
이 예에서는 볼륨은 내림차순으로 정렬되고 에디션은 오름차순으로 정렬됩니다.
이제 행이 있는 배열이 생겼지만 array_multisort()에는 열이 있는 배열이 필요하므로 다음 코드를 사용하여 열을 가져온 다음 정렬하세요.
// 열 목록을 가져옵니다.
foreach ($data를 $key => $row) {
$volume[$key] = $row['볼륨'];
$edition[$key] = $row['에디션'];
}
// 데이터를 볼륨에 따라 내림차순, 에디션에 따라 오름차순으로 정렬합니다.
// $data를 마지막 매개변수로 사용하고, 공통 키로 정렬합니다.
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
이제 데이터 컬렉션이 정렬되었으며 결과는 다음과 같습니다.
볼륨 |
------+---------
98 | 2
86 | 1
86 |6
85 | 6
67 |2
67 | 7
실제로 정렬할 때 사용할 수 있는 메소드는 PHP의 배열 배열과 함께 제공되는 arsort(), asort(), ksort(), krsort(), natsort(), natcasesort(), rsort 등 다양합니다. .(), usort(), array_multisort() 및 uksort().