>  기사  >  백엔드 개발  >  원래 키 이름을 유지하면서 PHP를 사용하여 배열의 객체 정렬

원래 키 이름을 유지하면서 PHP를 사용하여 배열의 객체 정렬

PHPz
PHPz원래의
2024-05-04 17:12:02413검색

답변: PHP에서는 uasort() 함수를 사용하여 원래 키 이름을 유지하면서 사용자 정의 비교 함수에 따라 배열의 객체를 정렬합니다. 자세한 설명: 구문: uasort($array, $value_compare_func) 비교 함수 규칙: 두 개의 배열 요소를 매개변수로 받아들이고 첫 번째 매개변수가 두 번째 매개변수보다 작으면 -1을 반환합니다. 두 매개변수가 같으면 1을 반환합니다. 첫 번째 매개변수가 두 번째 매개변수보다 큽니다. 실제 사례: 학생 객체를 나타내기 위해 Student 클래스를 정의하여 원래 키 이름을 유지하면서 학생의 나이에 따라 $students 배열을 정렬합니다.

使用 PHP 对数组中的对象进行排序,保留原始键名

PHP를 사용하여 $students 배열 정렬 객체 정렬

PHP에서는 uasort() 함수를 사용하여 원래 키 이름을 유지하면서 배열의 객체를 정렬할 수 있습니다. 이 함수는 사용자가 제공한 비교 함수를 사용하여 배열 요소를 오름차순 또는 내림차순으로 정렬합니다. uasort() 函数对数组中的对象进行排序,同时保留原始键名。该函数使用用户提供的比较函数,将数组元素按升序或降序排序。

语法

uasort ( array &$array, callable $value_compare_func ) : bool

其中:

  • $array 是要排序的数组,传递引用以便直接修改
  • $value_compare_func
  • Syntax

uasort (array &$array, callable $value_compare_func): bool

여기서:

  • $array는 정렬할 배열입니다. 참조 그래서 직접 수정
  • $value_compare_func은 두 값을 매개 변수로 받아들이고 비교 결과를 오름차순 또는 내림차순으로 반환하는 사용자 제공 비교 함수입니다.

      비교 함수
    • 비교 함수 다음 규칙을 따라야 합니다.
    • 는 두 개의 배열 요소를 매개변수로 받습니다.
  • 는 다음 값 중 하나를 반환합니다.

-1: 첫 번째 매개변수가 두 번째 매개변수보다 작습니다.

0: 두 매개변수가 동일합니다.

1: 첫 번째 매개변수가 두 번째 매개변수보다 큽니다

🎜실용 사례🎜🎜학생 객체를 포함하는 배열을 생각해 보세요. 각 학생은 이름과 나이 속성을 가집니다. 원래 키 이름을 유지하면서 학생을 연령별로 오름차순으로 정렬하려고 합니다. 🎜🎜Code🎜
<?php

class Student
{
    public $name;
    public $age;

    public function __construct($name, $age)
    {
        $this->name = $name;
        $this->age = $age;
    }
}

$students = [
    "John Doe" => new Student("John Doe", 25),
    "Jane Smith" => new Student("Jane Smith", 22),
    "Peter Parker" => new Student("Peter Parker", 28)
];

uasort($students, function ($a, $b) {
    return $a->age <=> $b->age;
});

print_r($students);
🎜Output🎜
Array
(
    [Jane Smith] => Student Object
        (
            [name] => Jane Smith
            [age] => 22
        )
    [John Doe] => Student Object
        (
            [name] => John Doe
            [age] => 25
        )
    [Peter Parker] => Student Object
        (
            [name] => Peter Parker
            [age] => 28
        )
)
🎜보시다시피 학생들은 연령에 따라 오름차순으로 정렬되었으며 원래 키 이름은 그대로 유지됩니다. 🎜

위 내용은 원래 키 이름을 유지하면서 PHP를 사용하여 배열의 객체 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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