PHP에는 배열을 정렬하는 데 사용할 수 있는 몇 가지 함수가 있습니다. 하지만 여러 필드가 있는 배열의 경우 지정된 필드를 기준으로 정렬하는 방법 array_multisort 함수를 사용하여 지정된 필드를 기준으로 정렬할 수 있습니다.
PHP에는 배열을 정렬하는 데 사용할 수 있는 몇 가지 함수가 있습니다.
sort() - 배열을 오름차순으로 정렬
rsort() - 배열을 내림차순으로 정렬
asort() - 연관 배열의 값을 기준으로 오름차순으로 배열 정렬
ksort() - 연관배열의 키에 따라 오름차순으로 배열 정렬
arsort() - 연관배열의 값에 따라 내림차순으로 배열 정렬
krsort() - 연관 배열의 키를 기준으로 내림차순으로 배열을 정렬합니다. 내림차순으로 정렬
예:
$arr=['green','car','apple','book']; sort($arr); var_dump($arr);
정렬 결과를 얻을 수 있습니다.
array (size=4) 0 => string 'apple' (length=5) 1 => string 'book' (length=4) 2 => string 'car' (length=3) 3 => string 'green' (length=5)
그러나 여러 필드가 있는 배열의 경우, 지정된 필드를 기준으로 정렬하는 방법은 무엇입니까? 예를 들어 다음 배열은
$arr=[ [ 'age'=>50, 'name'=>'张三' ], [ 'age'=>18, 'name'=>'李四' ], [ 'age'=>27, 'name'=>'王五' ] ];
나이를 기준으로 정렬하는 방법은 무엇인가요? 아니면 array_multisort 함수를 사용하여 지정된 필드를 기준으로 정렬할 수 있습니다.
array_multisort(array_column($arr,'age'),SORT_ASC,$arr); var_dump($arr);
결과를 인쇄합니다
array (size=3) 0 => array (size=2) 'age' => int 18 'name' => string '李四' (length=6) 1 => array (size=2) 'age' => int 27 'name' => string '王五' (length=6) 2 => array (size=2) 'age' => int 50 'name' => string '张三' (length=6)
이렇게 정렬됩니다. 즉, array_multisort 함수를 사용하여 정렬할 때 array_column을 사용하여 배열을 정렬하고 지정된 열을 첫 번째 매개변수에 추출하고 정렬 상수를 두 번째 매개변수를 사용하고 배열을 다음 매개변수에 넣습니다. 세 번째 매개변수를 사용하면 지정된 필드를 기준으로 정렬할 수 있습니다. SORT_ASC는 오름차순이고 SORT_DESC는 내림차순입니다.
추천 학습: php 비디오 튜토리얼
위 내용은 PHP에서 array_multisort 함수를 사용하여 지정된 필드별로 배열을 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!