usort
Author
siwon
Date
2023-08-30 20:21
Views
1278
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 -1
|
Views 1321
|
siwon | 2024.11.26 | -1 | 1321 |
| 39 |
html center 중앙정렬 tailwind
siwon
|
2024.07.27
|
Votes 0
|
Views 1640
|
siwon | 2024.07.27 | 0 | 1640 |
| 38 |
dropdown menu alpinejs 사용 버전
siwon
|
2024.04.30
|
Votes 0
|
Views 1565
|
siwon | 2024.04.30 | 0 | 1565 |
| 37 |
dropdown menu 간단 버전
siwon
|
2024.04.30
|
Votes 0
|
Views 1524
|
siwon | 2024.04.30 | 0 | 1524 |
| 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 2201
|
siwon | 2023.10.24 | 0 | 2201 |
| 35 |
session 과 쿠키
siwon
|
2023.10.24
|
Votes 0
|
Views 1462
|
siwon | 2023.10.24 | 0 | 1462 |
| 34 |
Late Static Binding (LSB):메서드 내부에서 현재 클래스의 정적 메서드 또는 프로퍼티를 호출할 때 사용
siwon
|
2023.10.24
|
Votes 0
|
Views 1285
|
siwon | 2023.10.24 | 0 | 1285 |
| 33 |
PHP 예외 처리(Exception Handling)
siwon
|
2023.10.10
|
Votes 0
|
Views 1606
|
siwon | 2023.10.10 | 0 | 1606 |
| 32 |
php exception
siwon
|
2023.10.10
|
Votes 0
|
Views 1802
|
siwon | 2023.10.10 | 0 | 1802 |
| 31 |
예외(Exception)를 처리하기 위해 try...catch 블록을 사용하는 방법
siwon
|
2023.10.10
|
Votes 0
|
Views 1340
|
siwon | 2023.10.10 | 0 | 1340 |
| 30 |
Preserving Parent Class Functionality in overriding
siwon
|
2023.09.26
|
Votes 0
|
Views 1174
|
siwon | 2023.09.26 | 0 | 1174 |
| 29 |
oop 세부항목
siwon
|
2023.09.26
|
Votes 0
|
Views 1190
|
siwon | 2023.09.26 | 0 | 1190 |
| 28 |
method chaining
siwon
|
2023.09.25
|
Votes 0
|
Views 1420
|
siwon | 2023.09.25 | 0 | 1420 |
| 27 |
interface implements
siwon
|
2023.09.19
|
Votes 0
|
Views 1243
|
siwon | 2023.09.19 | 0 | 1243 |
|
siwon
|
2023.10.24
|
Votes 0
|
Views 1050
|
siwon | 2023.10.24 | 0 | 1050 | |
| 26 |
abstract class : 부모 class로 사용되며 자식(extends 한)에게 abstract method를 강제함(그들만의 방식으로)
siwon
|
2023.09.19
|
Votes 0
|
Views 1137
|
siwon | 2023.09.19 | 0 | 1137 |
| 25 |
isset() / unset()
siwon
|
2023.09.18
|
Votes 0
|
Views 1315
|
siwon | 2023.09.18 | 0 | 1315 |
| 24 |
magic methods-어떤 상황이 되면 call 하지 않아도 자동으로 실행되는 메소드
siwon
|
2023.09.18
|
Votes 0
|
Views 1321
|
siwon | 2023.09.18 | 0 | 1321 |
| 23 |
MD(markdown) file
siwon
|
2023.09.12
|
Votes 0
|
Views 1240
|
siwon | 2023.09.12 | 0 | 1240 |
| 22 |
usort
siwon
|
2023.08.30
|
Votes 0
|
Views 1278
|
siwon | 2023.08.30 | 0 | 1278 |
| 21 |
closure=unanimous function
siwon
|
2023.08.30
|
Votes 0
|
Views 1305
|
siwon | 2023.08.30 | 0 | 1305 |
|
siwon
|
2023.10.24
|
Votes 0
|
Views 3971
|
siwon | 2023.10.24 | 0 | 3971 | |
| 20 |
reference variable &
siwon
|
2023.08.29
|
Votes 0
|
Views 1297
|
siwon | 2023.08.29 | 0 | 1297 |
|
siwon
|
2023.08.30
|
Votes 0
|
Views 1227
|
siwon | 2023.08.30 | 0 | 1227 | |
| 19 |
PHP 변수 : 스칼라(Scalar), 복합(Composite), 그리고 리소스(Resource)
siwon
|
2023.08.22
|
Votes 0
|
Views 1376
|
siwon | 2023.08.22 | 0 | 1376 |
| 18 |
if : vs {}
siwon
|
2023.08.22
|
Votes 0
|
Views 1121
|
siwon | 2023.08.22 | 0 | 1121 |
| 17 |
null coalescing operator
siwon
|
2023.08.18
|
Votes 0
|
Views 1468
|
siwon | 2023.08.18 | 0 | 1468 |
| 16 |
arrary functions
siwon
|
2023.08.18
|
Votes 0
|
Views 1281
|
siwon | 2023.08.18 | 0 | 1281 |