PHP는 개발자가 일반적으로 사용하는 많은 기능을 갖춘 널리 사용되는 프로그래밍 언어입니다. usort()는 그 중 하나입니다. usort()의 주요 기능은 지정된 비교 함수에 따라 배열을 정렬하는 것입니다.
usort() 함수의 구문은 다음과 같습니다.
usort(array $array, callable $cmp_function): bool
위 코드에서 $array
는 정렬할 배열을 나타내고, $cmp_function
은 호출 가능한 비교 함수. 반환 값은 정렬이 성공했는지 여부를 나타내는 부울 유형입니다. $array
表示要排序的数组,$cmp_function
是一个可调用的比较函数。返回值是布尔类型,表示排序是否成功。
下面就对 usort() 函数进行详细介绍。
usort() 函数中传入的比较函数必须是可调用的,也就是说可以被调用执行的函数。比较函数一般在调用 usort() 时定义,通过一个匿名函数或是指定函数名称的方式来定义。比如,你可以这样来定义一个比较函数:
function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; }
在这个比较函数中,$a
和 $b
分别代表 usort() 函数传入的要比较的两个参数。根据自己的需求,你可以自定义比较函数的实现方法。比较函数返回值可以是 0、-1 或 1。若返回 0,则代表两个参数相等;若返回 -1,则代表 $a
比 $b
小;若返回 1,则代表 $a
比 $b
大。
接下来,我们来看一下如何使用 usort() 函数来对数组进行排序。假设我们有一个数组,其中包含如下元素:
$array = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3];
如果我们想对这个数组进行排序,可以使用 usort() 函数:
usort($array, "cmp");
这里的 "cmp"
[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
$a
와 $b
는 각각 usort에 의해 전달된 값을 나타냅니다. () 두 매개변수를 비교하는 함수입니다. 자신의 필요에 따라 비교 기능의 구현 방법을 사용자 정의할 수 있습니다. 비교 함수 반환 값은 0, -1 또는 1일 수 있습니다. 0이 반환되면 두 매개변수가 동일하다는 의미이고, -1이 반환되면 $a
가 $b
보다 작다는 의미입니다. 이는 $a
가 $b
보다 크다는 의미입니다. 사용 방법다음으로 usort() 함수를 사용하여 배열을 정렬하는 방법을 살펴보겠습니다. 다음 요소를 포함하는 배열이 있다고 가정합니다. $students = [ ["name" => "Alice", "age" => 18], ["name" => "Bob", "age" => 20], ["name" => "Charlie", "age" => 19], ];
function cmp_age($a, $b) { if ($a["age"] == $b["age"]) { return 0; } return ($a["age"] < $b["age"]) ? -1 : 1; }
"cmp"
는 우리가 정의한 비교입니다. 함수의 이름입니다. 위 코드를 실행하면 정렬된 배열을 얻을 수 있습니다. usort($students, "cmp_age");
[ ["name" => "Alice", "age" => 18], ["name" => "Charlie", "age" => 19], ["name" => "Bob", "age" => 20], ]
위 내용은 PHP 함수 라이브러리의 usort() 함수 사용법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!