> 백엔드 개발 > PHP 튜토리얼 > PHP 연관 배열의 키를 사용자 정의 정렬하려면 어떻게 해야 합니까?

PHP 연관 배열의 키를 사용자 정의 정렬하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-21 03:56:10
원래의
786명이 탐색했습니다.

How Can I Custom Sort the Keys of a PHP Associative Array?

비계층적 연관 배열의 사용자 정의 키 정렬

PHP에서는 연관 배열을 알파벳순이나 숫자순으로 정렬할 수 없습니다. 기본. 그러나 다른 배열을 기반으로 사용자 정의 정렬 순서를 생성하는 것은 가능합니다.

사용자 정의 키 정렬을 구현하는 함수

사용자 정의 키를 수행하는 함수를 생성하려면- 정렬하려면 array_merge() 또는 array_replace() 함수를 사용할 수 있습니다. 두 함수 모두 두 개의 배열을 입력으로 사용합니다. 첫 번째 배열은 원하는 키의 원하는 순서를 지정하고 두 번째 배열은 정렬하려는 실제 데이터를 포함합니다.

아래 코드는 이 함수를 구현하는 방법을 보여줍니다.

function sortArrayByArray($inputArray, $sortKeysArray) {
  return array_merge(array_flip($sortKeysArray), $inputArray);
}
로그인 후 복사

사용 예

다음 예를 고려해보세요. 배열:

$customer['address'] = '123 fake st';
$customer['name'] = 'Tim';
$customer['dob'] = '12/08/1986';
$customer['dontSortMe'] = 'this value doesnt need to be sorted';
로그인 후 복사

$sortKeysArray에 지정된 키 순서에 따라 이 배열을 정렬하려면 다음과 같이 sortArrayByArray() 함수를 사용할 수 있습니다.

$sortKeysArray = ['name', 'dob', 'address'];
$properOrderedArray = sortArrayByArray($customer, $sortKeysArray);
로그인 후 복사

결과 $properOrderedArray 다음과 같습니다:

[
  'name' => 'Tim',
  'dob' => '12/08/1986',
  'address' => '123 fake st',
  'dontSortMe' => 'this value doesnt need to be sorted'
]
로그인 후 복사

키는 지정된 항목에 따라 정렬됩니다. $sortKeysArray 및 값이 유지됩니다. 정렬할 수 없는 키("dontSortMe")는 배열 끝에 추가됩니다.

이 접근 방식을 사용하면 PHP의 비계층적 연관 배열에 대한 사용자 정의 키 정렬을 달성하여 배열 키가 다음과 같이 되도록 보장할 수 있습니다. 특정한 방식으로 주문했습니다.

위 내용은 PHP 연관 배열의 키를 사용자 정의 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿