usort
Author
siwon
Date
2023-08-30 20:21
Views
723
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 510
|
siwon | 2024.11.26 | 0 | 510 |
39 |
html center 중앙정렬 tailwind
siwon
|
2024.07.27
|
Votes 0
|
Views 882
|
siwon | 2024.07.27 | 0 | 882 |
38 |
dropdown menu alpinejs 사용 버전
siwon
|
2024.04.30
|
Votes 0
|
Views 925
|
siwon | 2024.04.30 | 0 | 925 |
37 |
dropdown menu 간단 버전
siwon
|
2024.04.30
|
Votes 0
|
Views 870
|
siwon | 2024.04.30 | 0 | 870 |
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 1336
|
siwon | 2023.10.24 | 0 | 1336 |
35 |
session 과 쿠키
siwon
|
2023.10.24
|
Votes 0
|
Views 871
|
siwon | 2023.10.24 | 0 | 871 |
34 |
Late Static Binding (LSB):메서드 내부에서 현재 클래스의 정적 메서드 또는 프로퍼티를 호출할 때 사용
siwon
|
2023.10.24
|
Votes 0
|
Views 808
|
siwon | 2023.10.24 | 0 | 808 |
33 |
PHP 예외 처리(Exception Handling)
siwon
|
2023.10.10
|
Votes 0
|
Views 1058
|
siwon | 2023.10.10 | 0 | 1058 |
32 |
php exception
siwon
|
2023.10.10
|
Votes 0
|
Views 1294
|
siwon | 2023.10.10 | 0 | 1294 |
31 |
예외(Exception)를 처리하기 위해 try...catch 블록을 사용하는 방법
siwon
|
2023.10.10
|
Votes 0
|
Views 881
|
siwon | 2023.10.10 | 0 | 881 |
30 |
Preserving Parent Class Functionality in overriding
siwon
|
2023.09.26
|
Votes 0
|
Views 711
|
siwon | 2023.09.26 | 0 | 711 |
29 |
oop 세부항목
siwon
|
2023.09.26
|
Votes 0
|
Views 706
|
siwon | 2023.09.26 | 0 | 706 |
28 |
method chaining
siwon
|
2023.09.25
|
Votes 0
|
Views 847
|
siwon | 2023.09.25 | 0 | 847 |
27 |
interface implements
siwon
|
2023.09.19
|
Votes 0
|
Views 758
|
siwon | 2023.09.19 | 0 | 758 |
![]()
siwon
|
2023.10.24
|
Votes 0
|
Views 638
|
siwon | 2023.10.24 | 0 | 638 | |
26 |
abstract class : 부모 class로 사용되며 자식(extends 한)에게 abstract method를 강제함(그들만의 방식으로)
siwon
|
2023.09.19
|
Votes 0
|
Views 701
|
siwon | 2023.09.19 | 0 | 701 |
25 |
isset() / unset()
siwon
|
2023.09.18
|
Votes 0
|
Views 784
|
siwon | 2023.09.18 | 0 | 784 |
24 |
magic methods-어떤 상황이 되면 call 하지 않아도 자동으로 실행되는 메소드
siwon
|
2023.09.18
|
Votes 0
|
Views 788
|
siwon | 2023.09.18 | 0 | 788 |
23 |
MD(markdown) file
siwon
|
2023.09.12
|
Votes 0
|
Views 788
|
siwon | 2023.09.12 | 0 | 788 |
22 |
usort
siwon
|
2023.08.30
|
Votes 0
|
Views 723
|
siwon | 2023.08.30 | 0 | 723 |
21 |
closure=unanimous function
siwon
|
2023.08.30
|
Votes 0
|
Views 805
|
siwon | 2023.08.30 | 0 | 805 |
![]()
siwon
|
2023.10.24
|
Votes 0
|
Views 1542
|
siwon | 2023.10.24 | 0 | 1542 | |
20 |
reference variable &
siwon
|
2023.08.29
|
Votes 0
|
Views 797
|
siwon | 2023.08.29 | 0 | 797 |
![]()
siwon
|
2023.08.30
|
Votes 0
|
Views 810
|
siwon | 2023.08.30 | 0 | 810 | |
19 |
PHP 변수 : 스칼라(Scalar), 복합(Composite), 그리고 리소스(Resource)
siwon
|
2023.08.22
|
Votes 0
|
Views 884
|
siwon | 2023.08.22 | 0 | 884 |
18 |
if : vs {}
siwon
|
2023.08.22
|
Votes 0
|
Views 673
|
siwon | 2023.08.22 | 0 | 673 |
17 |
null coalescing operator
siwon
|
2023.08.18
|
Votes 0
|
Views 921
|
siwon | 2023.08.18 | 0 | 921 |
16 |
arrary functions
siwon
|
2023.08.18
|
Votes 0
|
Views 746
|
siwon | 2023.08.18 | 0 | 746 |