usort
Author
siwon
Date
2023-08-30 20:21
Views
637
PHP의 `usort`는 사용자 정의 비교 함수를 사용하여 배열을 정렬하는 내장 함수입니다. 이 함수를 사용하면 표준 정렬 함수인 `sort()` 또는 `asort()`를 사용하여 어려운 정렬 작업을 할 수 없는 경우에도 배열을 사용자 지정 방식으로 정렬할 수 있습니다.
`usort`의 기본 구문은 다음과 같습니다.
```php
usort(array &$array, callable $comparisonFunction)
```
- `$array`: 정렬하려는 배열입니다. 이 배열은 제자리에서 수정되며 정렬된 새 배열이 반환되지 않습니다.
- `$comparisonFunction`: 사용자 정의 비교 논리를 정의하는 callable 함수입니다. 이 함수는 두 개의 매개변수 (일반적으로 `$a`와 `$b`로 지칭)를 받아들이고 비교 결과를 나타내는 정수를 반환해야 합니다.
- 만약 `$a`가 `$b`보다 작다고 판단된다면, 함수는 음수 정수를 반환해야 합니다 (예: -1).
- 만약 `$a`가 `$b`보다 크다고 판단된다면, 함수는 양수 정수를 반환해야 합니다 (예: 1).
- 만약 `$a`와 `$b`가 같다고 판단된다면, 함수는 0을 반환해야 합니다.
`usort`를 사용하는 예제를 살펴보겠습니다.
```php
// 사용자 정의 비교 함수 정의
function customSort($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// 정렬할 배열
$numbers = [4, 2, 8, 1, 6];
// 사용자 정의 비교 함수를 사용하여 배열을 정렬합니다.
usort($numbers, 'customSort');
// $numbers 배열은 이제 오름차순으로 정렬됩니다.
print_r($numbers);
```
이 예제에서 `customSort` 함수는 정렬 논리를 정의합니다. 이 함수는 오름차순으로 배열을 정렬합니다. 특정 요구 사항에 따라 사용자 정의 정렬 논리를 구현하려면 이 함수를 수정할 수 있습니다.
`usort`는 배열을 제자리에서 정렬하므로 배열의 원래 순서를 보존해야 하는 경우 주의해서 사용해야 합니다.
Total 0
You must be logged in to post a comment.
Total 45
Number | Title | Author | Date | Votes | Views |
40 |
php formatter
siwon
|
2024.11.26
|
Votes 0
|
Views 279
|
siwon | 2024.11.26 | 0 | 279 |
39 |
html center 중앙정렬 tailwind
siwon
|
2024.07.27
|
Votes 0
|
Views 657
|
siwon | 2024.07.27 | 0 | 657 |
38 |
dropdown menu alpinejs 사용 버전
siwon
|
2024.04.30
|
Votes 0
|
Views 735
|
siwon | 2024.04.30 | 0 | 735 |
37 |
dropdown menu 간단 버전
siwon
|
2024.04.30
|
Votes 0
|
Views 689
|
siwon | 2024.04.30 | 0 | 689 |
36 |
The Standard PHP Library (SPL) is a collection of classes and interfaces that provide core functionality to PHP developers.
siwon
|
2023.10.24
|
Votes 0
|
Views 1062
|
siwon | 2023.10.24 | 0 | 1062 |
35 |
session 과 쿠키
siwon
|
2023.10.24
|
Votes 0
|
Views 745
|
siwon | 2023.10.24 | 0 | 745 |
34 |
Late Static Binding (LSB):메서드 내부에서 현재 클래스의 정적 메서드 또는 프로퍼티를 호출할 때 사용
siwon
|
2023.10.24
|
Votes 0
|
Views 716
|
siwon | 2023.10.24 | 0 | 716 |
33 |
PHP 예외 처리(Exception Handling)
siwon
|
2023.10.10
|
Votes 0
|
Views 890
|
siwon | 2023.10.10 | 0 | 890 |
32 |
php exception
siwon
|
2023.10.10
|
Votes 0
|
Views 1193
|
siwon | 2023.10.10 | 0 | 1193 |
31 |
예외(Exception)를 처리하기 위해 try...catch 블록을 사용하는 방법
siwon
|
2023.10.10
|
Votes 0
|
Views 780
|
siwon | 2023.10.10 | 0 | 780 |
30 |
Preserving Parent Class Functionality in overriding
siwon
|
2023.09.26
|
Votes 0
|
Views 624
|
siwon | 2023.09.26 | 0 | 624 |
29 |
oop 세부항목
siwon
|
2023.09.26
|
Votes 0
|
Views 622
|
siwon | 2023.09.26 | 0 | 622 |
28 |
method chaining
siwon
|
2023.09.25
|
Votes 0
|
Views 738
|
siwon | 2023.09.25 | 0 | 738 |
27 |
interface implements
siwon
|
2023.09.19
|
Votes 0
|
Views 655
|
siwon | 2023.09.19 | 0 | 655 |
![]()
siwon
|
2023.10.24
|
Votes 0
|
Views 550
|
siwon | 2023.10.24 | 0 | 550 | |
26 |
abstract class : 부모 class로 사용되며 자식(extends 한)에게 abstract method를 강제함(그들만의 방식으로)
siwon
|
2023.09.19
|
Votes 0
|
Views 622
|
siwon | 2023.09.19 | 0 | 622 |
25 |
isset() / unset()
siwon
|
2023.09.18
|
Votes 0
|
Views 684
|
siwon | 2023.09.18 | 0 | 684 |
24 |
magic methods-어떤 상황이 되면 call 하지 않아도 자동으로 실행되는 메소드
siwon
|
2023.09.18
|
Votes 0
|
Views 683
|
siwon | 2023.09.18 | 0 | 683 |
23 |
MD(markdown) file
siwon
|
2023.09.12
|
Votes 0
|
Views 699
|
siwon | 2023.09.12 | 0 | 699 |
22 |
usort
siwon
|
2023.08.30
|
Votes 0
|
Views 637
|
siwon | 2023.08.30 | 0 | 637 |
21 |
closure=unanimous function
siwon
|
2023.08.30
|
Votes 0
|
Views 705
|
siwon | 2023.08.30 | 0 | 705 |
![]()
siwon
|
2023.10.24
|
Votes 0
|
Views 1328
|
siwon | 2023.10.24 | 0 | 1328 | |
20 |
reference variable &
siwon
|
2023.08.29
|
Votes 0
|
Views 698
|
siwon | 2023.08.29 | 0 | 698 |
![]()
siwon
|
2023.08.30
|
Votes 0
|
Views 733
|
siwon | 2023.08.30 | 0 | 733 | |
19 |
PHP 변수 : 스칼라(Scalar), 복합(Composite), 그리고 리소스(Resource)
siwon
|
2023.08.22
|
Votes 0
|
Views 775
|
siwon | 2023.08.22 | 0 | 775 |
18 |
if : vs {}
siwon
|
2023.08.22
|
Votes 0
|
Views 593
|
siwon | 2023.08.22 | 0 | 593 |
17 |
null coalescing operator
siwon
|
2023.08.18
|
Votes 0
|
Views 794
|
siwon | 2023.08.18 | 0 | 794 |
16 |
arrary functions
siwon
|
2023.08.18
|
Votes 0
|
Views 646
|
siwon | 2023.08.18 | 0 | 646 |