>  기사  >  백엔드 개발  >  PHP에서 키 이름을 유지하면서 배열의 특정 키 값 쌍으로만 배열을 정렬하는 방법은 무엇입니까?

PHP에서 키 이름을 유지하면서 배열의 특정 키 값 쌍으로만 배열을 정렬하는 방법은 무엇입니까?

PHPz
PHPz원래의
2024-05-04 09:03:01858검색

PHP에서 키-값 쌍을 기반으로 배열을 정렬할 때 uasort() 함수를 사용하면 콜백 함수를 받아 키 값을 비교하고 키 이름을 유지할 수 있습니다. 예를 들어, 급여를 기준으로 직원 레코드를 정렬하려면 uksort() 함수를 사용하여 비교를 위해 각 요소에서 급여 값을 추출하여 낮은 급여에서 높은 급여로 레코드를 정렬할 수 있습니다.

在 PHP 中,如何仅按数组某些键值对对数组进行排序,保留键名?

PHP에서 키 값 쌍을 기준으로 배열 정렬

때로는 PHP에서 배열을 정렬하는 동안 키 이름을 유지하면서 특정 키 값 쌍을 기준으로 정렬해야 하는 경우가 있습니다. 이 문서에서는 이 목표를 달성하는 방법을 설명합니다.

<?php

// 创建一个数组
$arr = [
    'a' => 1,
    'b' => 3,
    'c' => 2,
    'd' => 4,
];

// 使用 uasort() 函数,接收一个回调函数
uksort($arr, function($a, $b) use ($arr) {
    return $arr[$a] <=> $arr[$b];
});

// 打印排序后的数组,保留键名
print_r($arr);

실용 사례: 직원 급여를 기준으로 직원 기록 정렬

직원 기록을 포함하는 배열이 있다고 가정합니다.

$employees = [
    'John Doe' => ['salary' => 50000],
    'Jane Smith' => ['salary' => 40000],
    'Peter Jones' => ['salary' => 60000],
];

직원 기록을 급여별로 정렬하기 위해 추가 익명 함수를 사용하여 배열에서 각 항목을 제거합니다. 요소에서 급여 추출:

// 按薪酬排序
uksort($employees, function($a, $b) use ($employees) {
    return $employees[$a]['salary'] <=> $employees[$b]['salary'];
});

이제 $employees 배열은 직원 이름 키를 유지하면서 직원 급여를 기준으로 낮은 것부터 높은 것 순으로 정렬됩니다.

위 내용은 PHP에서 키 이름을 유지하면서 배열의 특정 키 값 쌍으로만 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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