[Php 4, Php 5, Php 7, Php 8]
usort-Sắp xếp một mảng theo các giá trị bằng hàm so sánh do người dùng xác định — Sort an array by values using a user-defined comparison function
Sự mô tả
usort [mảng &$array
, có thể gọi $callback
]: bool[array &$array
, callable $callback
]: bool
Ghi chú::
Nếu hai thành viên so sánh bằng nhau, họ giữ lại thứ tự ban đầu của họ. Trước PHP 8.0.0, thứ tự tương đối của chúng trong mảng được sắp xếp không được xác định.
Lưu ý: Hàm này gán các khóa mới cho các phần tử trong
array
. Nó sẽ loại bỏ bất kỳ khóa hiện có nào có thể đã được chỉ định, thay vì chỉ sắp xếp lại các khóa.: This function assigns new keys to the elements inarray
. It will remove any existing keys that may have been assigned, rather than just reordering the keys.
Thông số
array
Mảng đầu vào.
callback
Hàm so sánh phải trả về một số nguyên nhỏ hơn, bằng hoặc lớn hơn 0 nếu đối số đầu tiên được coi là nhỏ hơn, bằng hoặc lớn hơn thứ hai.
Trả về giá trị
Luôn trả về true
.true
.
Thay đổi
8.0.0 | usort [mảng &$array , có thể gọi $callback ]: boolE_WARNING .
|
Ghi chú:
Nếu hai thành viên so sánh bằng nhau, họ giữ lại thứ tự ban đầu của họ. Trước PHP 8.0.0, thứ tự tương đối của chúng trong mảng được sắp xếp không được xác định.usort[] example
Baldwin, Adam Baldwin, Alec West, Adam0
Baldwin, Adam Baldwin, Alec West, Adam1
Baldwin, Adam Baldwin, Alec West, Adam2
Lưu ý: Hàm này gán các khóa mới cho các phần tử trong array
. Nó sẽ loại bỏ bất kỳ khóa hiện có nào có thể đã được chỉ định, thay vì chỉ sắp xếp lại các khóa.
Thông số
Baldwin, Adam Baldwin, Alec West, Adam3
Baldwin, Adam Baldwin, Alec West, Adam1
Baldwin, Adam Baldwin, Alec West, Adam2
Ghi chú::
Nếu hai thành viên so sánh bằng nhau, họ giữ lại thứ tự ban đầu của họ. Trước PHP 8.0.0, thứ tự tương đối của chúng trong mảng được sắp xếp không được xác định.sort[] function would be more appropriate.
Lưu ý: Hàm này gán các khóa mới cho các phần tử trong array
. Nó sẽ loại bỏ bất kỳ khóa hiện có nào có thể đã được chỉ định, thay vì chỉ sắp xếp lại các khóa.usort[] example using multi-dimensional array
Baldwin, Adam Baldwin, Alec West, Adam6
Baldwin, Adam Baldwin, Alec West, Adam1
Baldwin, Adam Baldwin, Alec West, Adam8
Thông số
Lưu ý: Hàm này gán các khóa mới cho các phần tử trong array
. Nó sẽ loại bỏ bất kỳ khóa hiện có nào có thể đã được chỉ định, thay vì chỉ sắp xếp lại các khóa.
$fruits[0]: apples $fruits[1]: grapes $fruits[2]: lemons
Thông sốusort[] example using a member function of an object
Baldwin, Adam Baldwin, Alec West, Adam9
&$array
0
&$array
1Lưu ý: Hàm này gán các khóa mới cho các phần tử trong array
. Nó sẽ loại bỏ bất kỳ khóa hiện có nào có thể đã được chỉ định, thay vì chỉ sắp xếp lại các khóa.
Thông sốusort[] example using a closure to sort a multi-dimensional array
&$array
2
&$array
3
&$array
4Lưu ý: Hàm này gán các khóa mới cho các phần tử trong array
. Nó sẽ loại bỏ bất kỳ khóa hiện có nào có thể đã được chỉ định, thay vì chỉ sắp xếp lại các khóa.
Thông sốusort[] example using the spaceship operator
array
&$array
6
&$array
3
&$array
8Lưu ý: Hàm này gán các khóa mới cho các phần tử trong array
. Nó sẽ loại bỏ bất kỳ khóa hiện có nào có thể đã được chỉ định, thay vì chỉ sắp xếp lại các khóa.
Baldwin, Adam Baldwin, Alec West, Adam
Thông số
-
array
- Mảng đầu vào.
-
callback
Hàm so sánh phải trả về một số nguyên nhỏ hơn, bằng hoặc lớn hơn 0 nếu đối số đầu tiên được coi là nhỏ hơn, bằng hoặc lớn hơn thứ hai. ¶
Trả về giá trị
&$array
9
$callback
0
$callback
1
$callback
2 Luôn trả về true
. ¶
Thay đổi
$callback
3
$callback
4
$callback
5Phiên bản ¶
Nếu callback
mong đợi một tham số được truyền qua tham chiếu, chức năng này bây giờ sẽ phát ra một E_WARNING
.
$callback
6
$callback
7
$callback
8
$callback
9Ví dụ ¶
Ví dụ #1 usort [] ví dụ
array
0
array
1
Toán tử tàu vũ trụ có thể được sử dụng để đơn giản hóa so sánh nội bộ hơn nữa. ¶
Rõ ràng trong trường hợp tầm thường này, hàm sort [] sẽ phù hợp hơn.
array
3
array
4
array
5
$callback
2Ví dụ #2 usort [] Ví dụ sử dụng mảng đa chiều ¶
Khi sắp xếp một mảng đa chiều, $ a và $ b chứa các tham chiếu đến chỉ mục đầu tiên của mảng.
array
7
array
8
$callback
2Ví dụ #3 usort [] Ví dụ sử dụng hàm thành viên của một đối tượng ¶
Ví dụ #4 usort [] Ví dụ sử dụng đóng cửa để sắp xếp một mảng đa chiều
array
0
Ví dụ #5 usort [] Ví dụ sử dụng toán tử tàu vũ trụ ¶
Toán tử tàu vũ trụ cho phép so sánh đơn giản các giá trị hợp chất trên nhiều trục. Ví dụ sau đây sẽ sắp xếp &$array
5 theo họ, sau đó bằng tên đầu tiên nếu tên cuối cùng khớp.
array
1
array
2
array
3
array
4
$callback
2Xem thêm ¶
Uasort [] - Sắp xếp một mảng có chức năng so sánh do người dùng xác định và duy trì liên kết chỉ mục
array
6
array
7
array
8
array
9uksort [] - Sắp xếp một mảng theo các phím bằng hàm so sánh do người dùng xác định ¶
Uasort [] - Sắp xếp một mảng có chức năng so sánh do người dùng xác định và duy trì liên kết chỉ mục
callback
0
callback
1
callback
2
callback
3
$callback
2