비계층적 연관 배열의 사용자 정의 키 정렬
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!