>백엔드 개발 >PHP 튜토리얼 >내부 배열 값을 기준으로 다차원 PHP 배열을 정렬하는 방법은 무엇입니까?

내부 배열 값을 기준으로 다차원 PHP 배열을 정렬하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-03 03:40:31649검색

How to Sort Multi-Dimensional PHP Arrays Based on Inner Array Values?

내부 배열 값을 기준으로 다차원 PHP 배열 정렬

다차원 배열 정렬은 까다로울 수 있으며, 특히 정렬 매개변수가 다음과 같은 경우에는 더욱 그렇습니다. 중첩된 배열에 묻혀 있습니다. '이름' 키를 기준으로 배열 배열을 정렬하는 것과 같이 내부 배열의 값을 기준으로 PHP 해시테이블을 정렬하려면 사용자 정의 정렬 기능이 필요합니다.

사용자 정의 정렬 기능 만들기

중첩 값을 기준으로 정렬하는 한 가지 방법은 내부 배열에서 원하는 값을 추출하는 사용자 정의 정렬 함수를 만드는 것입니다.

<code class="php">function cmp($a, $b) {
    return $b['name'] - $a['name'];
}</code>

이 예에서 cmp 함수는 다음을 비교합니다. 내부 배열의 '이름' 키. 내림차순 정렬은 값을 더하는 것이 아니라 빼는 방식으로 이루어집니다.

정렬 기능 사용

사용자 정의 정렬 기능을 활용하려면 배열에 usort를 적용하세요.

<code class="php">usort($mydata, "cmp");</code>

내부 배열의 'name' 키를 기준으로 $mydata 배열을 내림차순으로 정렬합니다.

대체 방법

특정 사용 사례에 따라 다차원 배열을 정렬하는 또 다른 옵션은 array_sort 함수입니다:

<code class="php">function array_sort($array, $on, $order=SORT_ASC){

   // ... (function definition) ...

   // ... (sorting logic) ...

}</code>

array_sort 함수는 다음과 같이 '이름' 키를 기준으로 오름차순으로 정렬하는 데 사용할 수 있습니다.

<code class="php">$list = array(
   array( 'type' => 'suite', 'name' => 'A-Name'),
   array( 'type' => 'suite', 'name' => 'C-Name'),
   array( 'type' => 'suite', 'name' => 'B-Name')
);

$list = array_sort($list, 'name', SORT_ASC);</code>

이 대체 방법은 내부 배열의 값을 기반으로 다차원 배열을 정렬하기 위한 포괄적인 솔루션을 제공합니다.

위 내용은 내부 배열 값을 기준으로 다차원 PHP 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.