Làm cách nào để sắp xếp theo mảng trong PHP?

OUTPUT :
1
INPUT :
8
OUTPUT :
3
OUTPUT :
4
OUTPUT :
3
OUTPUT :
6
INPUT :
5
OUTPUT :
8
OUTPUT :
3
INPUT :
0

INPUT :
1
INPUT :
2
OUTPUT :
35
OUTPUT :
36
OUTPUT :
3
OUTPUT :
36
OUTPUT :
39
OUTPUT :
36
OUTPUT :
31
OUTPUT :
8

Việc lấy một phần thông tin cụ thể từ dữ liệu đã sắp xếp luôn dễ dàng hơn, nếu không, bạn phải lần lượt xem qua từng phần tử của mảng

Ví dụ: giả sử bạn đã lưu trữ điểm của các học sinh khác nhau trong một lớp trong một mảng hoặc một bảng. Nếu dữ liệu không được sắp xếp theo điểm đạt được, bạn sẽ phải xem điểm của từng học sinh trong lớp trước khi có thể biết ai đạt điểm cao nhất và thấp nhất. Nếu bảng đã được sắp xếp từ thấp đến cao dựa trên điểm số, chỉ cần nhìn vào điểm của sinh viên đầu tiên sẽ cho bạn biết điểm thấp nhất

Sắp xếp làm cho nhiều tác vụ yêu cầu truy cập hoặc lấy một bộ dữ liệu cụ thể trở nên rất dễ dàng và hiệu quả. Trong hướng dẫn này, chúng ta sẽ học cách sử dụng các hàm PHP có sẵn để sắp xếp các loại mảng khác nhau

Sắp xếp một mảng theo giá trị

Sắp xếp một mảng theo giá trị của các phần tử của nó rất dễ dàng trong PHP. Bạn có thể chọn duy trì hoặc loại bỏ các liên kết khóa-giá trị và bạn cũng có thể xác định các hàm của riêng mình để chỉ ra cách sắp xếp các phần tử. Tôi sẽ chỉ cho bạn cách thực hiện trong phần hướng dẫn này

Bạn có thể sử dụng hàm

OUTPUT :
068 để sắp xếp các giá trị của một mảng từ thấp đến cao. Tuy nhiên, nó sẽ không duy trì bất kỳ liên kết khóa-giá trị nào khi sắp xếp mảng. Các khóa mới được gán cho các phần tử được sắp xếp thay vì sắp xếp lại đơn giản. Tham số thứ hai tùy chọn cho phép bạn chỉ định cách sắp xếp các phần tử. Nó có thể có sáu giá trị khác nhau

  1. OUTPUT :
    069—sắp xếp các giá trị mà không thay đổi loại của chúng
  2. OUTPUT :
    070—sắp xếp các giá trị bằng cách so sánh chúng bằng số
  3. OUTPUT :
    071—sắp xếp các giá trị bằng cách so sánh chúng dưới dạng chuỗi
  4. OUTPUT :
    072—so sánh các giá trị dưới dạng chuỗi dựa trên ngôn ngữ hiện tại. Bạn có thể tự cập nhật ngôn ngữ bằng cách sử dụng
    OUTPUT :
    073
  5. OUTPUT :
    074—sắp xếp các mục bằng cách sử dụng "thứ tự tự nhiên" trong khi so sánh chúng dưới dạng chuỗi
  6. OUTPUT :
    075—có thể được kết hợp với
    OUTPUT :
    071 hoặc
    OUTPUT :
    074 để tắt phân biệt chữ hoa chữ thường trong khi sắp xếp chuỗi

Dưới đây là một số ví dụ về sắp xếp để giúp bạn nhanh chóng nắm bắt được sự khác biệt giữa tất cả các cờ sắp xếp

OUTPUT :
0
OUTPUT :
1
OUTPUT :
2
OUTPUT :
3
OUTPUT :
4
OUTPUT :
5
OUTPUT :
0
OUTPUT :
7
OUTPUT :
8
OUTPUT :
9
OUTPUT :
10
OUTPUT :
11
OUTPUT :
12
OUTPUT :
13
OUTPUT :
14
OUTPUT :
15
OUTPUT :
16
OUTPUT :
17
OUTPUT :
18
OUTPUT :
19
OUTPUT :
20
OUTPUT :
21
OUTPUT :
22
OUTPUT :
23
OUTPUT :
11
OUTPUT :
25
OUTPUT :
13
OUTPUT :
27
OUTPUT :
15
OUTPUT :
29
OUTPUT :
30
OUTPUT :
31
OUTPUT :
32
OUTPUT :
33
OUTPUT :
34
OUTPUT :
35
OUTPUT :
36
OUTPUT :
11
OUTPUT :
38
OUTPUT :
13
OUTPUT :
40
OUTPUT :
15
OUTPUT :
42
OUTPUT :
43

Trong ví dụ đầu tiên, sắp xếp thông thường, các chuỗi số được chuyển đổi thành giá trị số của chúng và việc sắp xếp được thực hiện tương ứng. Chuỗi "Apple" không phải là số nên để nguyên và được so sánh như một chuỗi

Trong ví dụ thứ hai, sắp xếp theo số, chúng tôi muốn dữ liệu được sắp xếp dựa trên giá trị số, vì vậy "Apple" được chuyển thành giá trị số 0 và xuất hiện trước. Phần còn lại của các giá trị được sắp xếp như mong đợi

Trong ví dụ thứ ba, tất cả các giá trị được coi là chuỗi. Điều này có nghĩa là thay vì so sánh giá trị số của 123 hoặc 3249832 với 38, chúng được so sánh dưới dạng chuỗi—mỗi lần một ký tự. Vì "1" đứng trước "3", giá trị 123 được coi là thấp hơn 38

Nếu bạn muốn sắp xếp các giá trị mảng của mình từ cao xuống thấp thay vì từ thấp đến cao, bạn có thể làm như vậy với sự trợ giúp của hàm

OUTPUT :
078. Nó chấp nhận tất cả các tham số giống như
OUTPUT :
079 nhưng sắp xếp các giá trị theo thứ tự ngược lại. Nó cũng không duy trì bất kỳ liên kết khóa-giá trị nào, vì vậy đây không phải là lựa chọn tốt để sắp xếp các mảng kết hợp

Sắp xếp một mảng kết hợp

Các liên kết khóa-giá trị trở nên quan trọng khi bạn đang xử lý các mảng kết hợp

Xem xét ví dụ sau, trong đó một mảng kết hợp được sử dụng để lưu trữ tên của những người khác nhau và loại trái cây yêu thích của họ. Nếu bạn muốn sắp xếp danh sách theo thứ tự abc theo tên của trái cây, sử dụng hàm

OUTPUT :
079 từ phần trước sẽ dẫn đến việc mất các phím liên quan

OUTPUT :
0
OUTPUT :
1
OUTPUT :
2
OUTPUT :
3
OUTPUT :
48
OUTPUT :
5
OUTPUT :
0
OUTPUT :
51
OUTPUT :
8
OUTPUT :
53
OUTPUT :
10
OUTPUT :
55
OUTPUT :
12
OUTPUT :
15
OUTPUT :
14
OUTPUT :
16
OUTPUT :
00
OUTPUT :
18
OUTPUT :
02
OUTPUT :
19
OUTPUT :
04
OUTPUT :
21
OUTPUT :
06
OUTPUT :
23
OUTPUT :
08
OUTPUT :
25
OUTPUT :
70
OUTPUT :
27
OUTPUT :
72
OUTPUT :
29
OUTPUT :
74
OUTPUT :
31
OUTPUT :
32
OUTPUT :
77
OUTPUT :
34
OUTPUT :
36
OUTPUT :
80
OUTPUT :
38
OUTPUT :
53
OUTPUT :
40
OUTPUT :
55
OUTPUT :
42
OUTPUT :
15
OUTPUT :
87
OUTPUT :
88
OUTPUT :
00
OUTPUT :
90
OUTPUT :
91
OUTPUT :
92
OUTPUT :
93
OUTPUT :
94
OUTPUT :
95
OUTPUT :
96
OUTPUT :
97
OUTPUT :
98
OUTPUT :
99
OUTPUT :
100
OUTPUT :
101
OUTPUT :
102
OUTPUT :
74
OUTPUT :
104
OUTPUT :
105
OUTPUT :
106

Như bạn có thể thấy, chúng tôi không chỉ mất liên kết của mọi người với loại trái cây yêu thích của họ, mà chúng tôi còn mất tên của những người khác nhau. Mỗi giá trị được sắp xếp đã được gán một chỉ số số mới dựa trên vị trí của nó trong mảng được sắp xếp

Để giúp bạn giải quyết vấn đề này một cách dễ dàng, PHP có hai hàm khác nhau giúp duy trì liên kết khóa-giá trị trong khi sắp xếp các mảng theo giá trị của chúng. Hai chức năng này là

OUTPUT :
081 và
OUTPUT :
082. Đoạn mã sau sắp xếp cùng một mảng
OUTPUT :
083 nhưng sử dụng
OUTPUT :
081 để làm như vậy

OUTPUT :
0
OUTPUT :
1
OUTPUT :
2
OUTPUT :
3
OUTPUT :
48
OUTPUT :
5
OUTPUT :
0
OUTPUT :
51
OUTPUT :
8
OUTPUT :
53
OUTPUT :
10
OUTPUT :
55
OUTPUT :
12
OUTPUT :
15
OUTPUT :
14
OUTPUT :
16
OUTPUT :
00
OUTPUT :
18
OUTPUT :
02
OUTPUT :
19
OUTPUT :
04
OUTPUT :
21
OUTPUT :
06
OUTPUT :
23
OUTPUT :
08
OUTPUT :
25
OUTPUT :
70
OUTPUT :
27
OUTPUT :
72
OUTPUT :
29
OUTPUT :
74
OUTPUT :
31
OUTPUT :
32
OUTPUT :
140
OUTPUT :
34
OUTPUT :
36
OUTPUT :
80
OUTPUT :
38
OUTPUT :
53
OUTPUT :
40
OUTPUT :
55
OUTPUT :
42
OUTPUT :
15
OUTPUT :
87
OUTPUT :
88
OUTPUT :
00
OUTPUT :
90
OUTPUT :
91
OUTPUT :
92
OUTPUT :
08
OUTPUT :
94
OUTPUT :
06
OUTPUT :
96
OUTPUT :
72
OUTPUT :
98
OUTPUT :
70
OUTPUT :
100
OUTPUT :
04
OUTPUT :
102
OUTPUT :
74
OUTPUT :
104
OUTPUT :
105
OUTPUT :
106

Như có thể thấy rõ từ ví dụ trên, giá trị mà Apple chuyển lên hàng đầu trong khi vẫn duy trì mối liên hệ với Patricia. Tên trái cây có thể được sắp xếp ngược lại dễ dàng bằng cách sử dụng hàm

OUTPUT :
082

Cả hai hàm này đều chấp nhận các cờ sắp xếp giống nhau làm giá trị của tham số thứ hai tùy chọn của chúng là

OUTPUT :
079 và
OUTPUT :
078

Sắp xếp các phần tử mảng theo giá trị với các hàm do người dùng xác định

Bốn chức năng sắp xếp có thể dễ dàng xử lý các nhu cầu sắp xếp thông thường của bạn với sự trợ giúp của các cờ khác nhau. Tuy nhiên, đôi khi tiêu chí của bạn để so sánh các phần tử mảng có thể khác nhau

Giả sử bạn có một mảng các từ ngẫu nhiên cần được sắp xếp theo thứ tự bảng chữ cái. Tuy nhiên, bạn cũng muốn sắp xếp chúng dựa trên độ dài của chúng trước khi sắp xếp chúng theo thứ tự bảng chữ cái. Ví dụ: sở thú sẽ đứng sau quả táo trong cách sắp xếp theo thứ tự bảng chữ cái truyền thống. Tuy nhiên, nếu bạn muốn hiển thị các từ ngắn trước các từ dài hơn, sở thú sẽ xuất hiện trước quả táo. Trong cùng một bộ chữ cái, vượn sẽ xuất hiện trước sở thú do thứ tự bảng chữ cái

Về cơ bản, đầu tiên các từ được sắp xếp dựa trên độ dài của chúng, sau đó các từ có cùng số lượng chữ cái được sắp xếp theo thứ tự bảng chữ cái trong nhóm riêng của chúng. Kiểu sắp xếp này không được tích hợp sẵn trong PHP, vì vậy chúng ta sẽ phải viết hàm sắp xếp của riêng mình

Những gì PHP làm trong trường hợp này là cung cấp cho bạn một vài hàm có thể được sử dụng để chuyển mảng mà bạn muốn sắp xếp, cùng với tên của hàm sắp xếp của riêng bạn

Bạn có thể sử dụng hàm

OUTPUT :
088 để sắp xếp các giá trị mảng trong mảng thông thường. Tương tự, bạn có thể sử dụng hàm
OUTPUT :
089 để sắp xếp các giá trị trong mảng kết hợp đồng thời duy trì các kết hợp khóa-giá trị

Đoạn mã dưới đây cho thấy một cách để thực hiện hành vi này

OUTPUT :
0
OUTPUT :
1
OUTPUT :
2
OUTPUT :
3
OUTPUT :
174
OUTPUT :
5
OUTPUT :
0
OUTPUT :
177
OUTPUT :
8
OUTPUT :
179
OUTPUT :
10
OUTPUT :
181
OUTPUT :
12
OUTPUT :
13
OUTPUT :
14
OUTPUT :
15
OUTPUT :
16
OUTPUT :
18
OUTPUT :
00
OUTPUT :
19
OUTPUT :
190
OUTPUT :
21
OUTPUT :
192
OUTPUT :
23
OUTPUT :
74
OUTPUT :
25
OUTPUT :
27
OUTPUT :
197
OUTPUT :
29
OUTPUT :
199
OUTPUT :
31
OUTPUT :
201
OUTPUT :
32
OUTPUT :
203
OUTPUT :
34
OUTPUT :
205
OUTPUT :
36
OUTPUT :
207
OUTPUT :
38
OUTPUT :
203
OUTPUT :
40
OUTPUT :
211
OUTPUT :
42
OUTPUT :
213
OUTPUT :
87
OUTPUT :
203
OUTPUT :
88
OUTPUT :
15
OUTPUT :
90
OUTPUT :
92
OUTPUT :
220
OUTPUT :
94
OUTPUT :
222
OUTPUT :
96
OUTPUT :
181
OUTPUT :
98
OUTPUT :
13
OUTPUT :
100
OUTPUT :
15
OUTPUT :
102
OUTPUT :
104
OUTPUT :
00
OUTPUT :
105
OUTPUT :
233
OUTPUT :
234
OUTPUT :
235
OUTPUT :
236
OUTPUT :
74
OUTPUT :
238
OUTPUT :
239
OUTPUT :
106

Trong các hàm gọi lại dành cho sắp xếp tùy chỉnh, chúng ta phải trả về một số nguyên nhỏ hơn 0 để chỉ ra rằng giá trị đầu tiên nhỏ hơn giá trị thứ hai. Trả về 0 nếu giá trị đầu tiên bằng giá trị thứ hai. Trả về một số nguyên lớn hơn 0 nếu giá trị đầu tiên lớn hơn thứ hai

Vì tiêu chí sắp xếp chính của chúng tôi là độ dài chuỗi, chúng tôi trực tiếp trả về -1 nếu từ đầu tiên ngắn hơn từ thứ hai. Tương tự, chúng tôi trực tiếp trả về 1 nếu từ đầu tiên dài hơn từ thứ hai. Nếu hai từ có độ dài bằng nhau, chúng ta so sánh chúng theo thứ tự bảng chữ cái bằng cách sử dụng hàm

OUTPUT :
090 và trả về giá trị của nó

Như bạn có thể thấy ở đầu ra, chức năng sắp xếp tùy chỉnh của chúng tôi sẽ sắp xếp lại các từ chính xác theo cách chúng tôi muốn

Sắp xếp một mảng theo khóa

Sắp xếp một mảng dựa trên các khóa của nó thường hữu ích khi bạn đang xử lý các mảng kết hợp

Chẳng hạn, bạn có thể có một mảng chứa thông tin về tổng số sân bay ở các quốc gia khác nhau. Giả sử rằng tên của các quốc gia khác nhau là khóa và số sân bay là giá trị, bạn có thể muốn sắp xếp tên quốc gia theo thứ tự bảng chữ cái. Điều này rất dễ thực hiện với các hàm

OUTPUT :
091 và
OUTPUT :
092. Cả hai hàm này sẽ duy trì liên kết khóa-giá trị của các phần tử mảng sau khi sắp xếp. Hàm ________ 2091 sắp xếp các phím từ thấp đến cao và hàm ________ 2092 sắp xếp các phím từ cao xuống thấp

Đây là một ví dụ sắp xếp cơ bản

OUTPUT :
0
OUTPUT :
1
OUTPUT :
2
OUTPUT :
3
OUTPUT :
245
OUTPUT :
5
OUTPUT :
0
OUTPUT :
248
OUTPUT :
8
OUTPUT :
10
OUTPUT :
251
OUTPUT :
12
OUTPUT :
253
OUTPUT :
14
OUTPUT :
15
OUTPUT :
16
OUTPUT :
18
OUTPUT :
00
OUTPUT :
19
OUTPUT :
260
OUTPUT :
21
OUTPUT :
262
OUTPUT :
23
OUTPUT :
264
OUTPUT :
25
OUTPUT :
266
OUTPUT :
27
OUTPUT :
268
OUTPUT :
29
OUTPUT :
270
OUTPUT :
31
OUTPUT :
272
OUTPUT :
32
OUTPUT :
274
OUTPUT :
34
OUTPUT :
276
OUTPUT :
36
OUTPUT :
278
OUTPUT :
38
OUTPUT :
74
OUTPUT :
40
OUTPUT :
42
OUTPUT :
106

Bạn cũng có thể cung cấp cho PHP hàm tùy chỉnh của riêng mình để sắp xếp các khóa mảng bằng cách sử dụng hàm

OUTPUT :
095. Cũng giống như
OUTPUT :
088, hàm gọi lại trong
OUTPUT :
095 cũng yêu cầu bạn trả về một số nguyên nhỏ hơn 0 nếu khóa đầu tiên được coi là nhỏ hơn khóa thứ hai và một số nguyên lớn hơn 0 nếu khóa đầu tiên lớn hơn khóa thứ hai. Hàm này cũng duy trì liên kết khóa-giá trị của các phần tử mảng

OUTPUT :
0
OUTPUT :
1
OUTPUT :
2
OUTPUT :
3
OUTPUT :
245
OUTPUT :
5
OUTPUT :
0
OUTPUT :
197
OUTPUT :
8
OUTPUT :
199
OUTPUT :
10
OUTPUT :
201
OUTPUT :
12
OUTPUT :
203
OUTPUT :
14
OUTPUT :
205
OUTPUT :
16
OUTPUT :
207
OUTPUT :
18
OUTPUT :
203
OUTPUT :
19
OUTPUT :
211
OUTPUT :
21
OUTPUT :
213
OUTPUT :
23
OUTPUT :
203
OUTPUT :
25
OUTPUT :
15
OUTPUT :
27
OUTPUT :
29
OUTPUT :
314
OUTPUT :
31
OUTPUT :
32
OUTPUT :
251
OUTPUT :
34
OUTPUT :
253
OUTPUT :
36
OUTPUT :
15
OUTPUT :
38
OUTPUT :
40
OUTPUT :
00
OUTPUT :
42
OUTPUT :
264
OUTPUT :
87
OUTPUT :
266
OUTPUT :
88
OUTPUT :
272
OUTPUT :
90
OUTPUT :
276
OUTPUT :
92
OUTPUT :
262
OUTPUT :
94
OUTPUT :
268
OUTPUT :
96
OUTPUT :
274
OUTPUT :
98
OUTPUT :
260
OUTPUT :
100
OUTPUT :
270
OUTPUT :
102
OUTPUT :
278
OUTPUT :
104
OUTPUT :
74
OUTPUT :
105
OUTPUT :
234
OUTPUT :
106

Trong ví dụ trên, chúng tôi đã sử dụng chức năng sắp xếp tùy chỉnh từ phần trước để sắp xếp tên của các quốc gia trước tiên theo độ dài của tên và sau đó theo thứ tự bảng chữ cái

Sắp xếp mảng đa chiều trong PHP

Nó phổ biến hơn nhiều trong cuộc sống thực để xử lý thông tin đa chiều. Chẳng hạn, các tổ chức sẽ lưu trữ điểm của tất cả học sinh trong nhiều môn học khác nhau trong một bảng duy nhất thay vì tạo các bảng mới cho từng môn học. Nếu bạn phải lưu trữ cùng một thông tin trong PHP, bạn cũng nên làm điều đó bằng cách sử dụng mảng nhiều chiều thay vì mảng riêng biệt cho từng đối tượng

Sắp xếp với các chức năng do người dùng xác định

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách sắp xếp một mảng nhiều chiều bằng cách sử dụng danh sách các tòa nhà cao nhất thế giới làm ví dụ. Mảng của chúng tôi sẽ chứa thông tin về tên của tòa nhà, thành phố và quốc gia nơi tòa nhà tọa lạc, số tầng và tổng chiều cao tính bằng mét, cùng với năm xây dựng tòa nhà

Khi bạn muốn sắp xếp các giá trị trong một mảng nhiều chiều dựa trên một trường cụ thể, bạn chỉ cần sử dụng hàm

OUTPUT :
088. Ví dụ dưới đây sẽ giúp bạn hiểu rõ hơn về kỹ thuật này

OUTPUT :
0
OUTPUT :
1
OUTPUT :
2
OUTPUT :
3
OUTPUT :
354
OUTPUT :
5
OUTPUT :
356
OUTPUT :
0
OUTPUT :
358
OUTPUT :
8
OUTPUT :
360
OUTPUT :
10
OUTPUT :
362
OUTPUT :
12
OUTPUT :
364
OUTPUT :
14
OUTPUT :
366
OUTPUT :
16
OUTPUT :
18
OUTPUT :
369
OUTPUT :
19
OUTPUT :
371
OUTPUT :
21
OUTPUT :
15
OUTPUT :
23
OUTPUT :
25
OUTPUT :
376
OUTPUT :
27
OUTPUT :
29
OUTPUT :
379
OUTPUT :
31
OUTPUT :
381
OUTPUT :
32
OUTPUT :
383
OUTPUT :
34
OUTPUT :
15
OUTPUT :
36
OUTPUT :
38
OUTPUT :
00
OUTPUT :
40
OUTPUT :
390
OUTPUT :
42
OUTPUT :
392
OUTPUT :
87
OUTPUT :
394
OUTPUT :
88
OUTPUT :
396
OUTPUT :
90
OUTPUT :
398
OUTPUT :
92
OUTPUT :
74
OUTPUT :
94
OUTPUT :
96
OUTPUT :
106

Trong ví dụ trên, thông tin về mỗi tòa nhà được lưu trữ trong mảng riêng của nó bên trong mảng chính

OUTPUT :
099. Hàm
OUTPUT :
700 chỉ cần lấy số tầng của tòa nhà thứ nhất trừ đi số tầng trong tòa nhà thứ nhất để xác định tòa nhà nào nhỏ hơn theo tiêu chí của chúng tôi. Chúng tôi không phải lo lắng về việc trả về một giá trị âm hoặc dương cụ thể vì tất cả các giá trị âm có nghĩa là nhỏ hơn và tất cả các giá trị dương có nghĩa là lớn hơn

Cuối cùng, chúng tôi chỉ lặp qua mảng chính và in ra thông tin về từng tòa nhà

Sắp xếp trên nhiều cột

Có một hàm tên là

OUTPUT :
701 mà bạn có thể sử dụng để sắp xếp mảng nhiều chiều của mình dựa trên giá trị của nhiều cột hoặc nhiều thứ nguyên. Bạn chỉ cần tạo một mảng các giá trị chính mà bạn muốn sử dụng để sắp xếp. Sau đó, vấn đề chỉ là chuyển các cờ phân loại

Ví dụ sau đây sẽ làm cho nó rõ ràng

OUTPUT :
0
OUTPUT :
1
OUTPUT :
2
OUTPUT :
3
OUTPUT :
408
OUTPUT :
5
OUTPUT :
410
OUTPUT :
0
OUTPUT :
412
OUTPUT :
8
OUTPUT :
414
OUTPUT :
10
OUTPUT :
416
OUTPUT :
12
OUTPUT :
418
OUTPUT :
14
OUTPUT :
410
OUTPUT :
16
OUTPUT :
422
OUTPUT :
18
OUTPUT :
424
OUTPUT :
19
OUTPUT :
426
OUTPUT :
21
OUTPUT :
418
OUTPUT :
23
OUTPUT :
410
OUTPUT :
25
OUTPUT :
432
OUTPUT :
27
OUTPUT :
414
OUTPUT :
29
OUTPUT :
436
OUTPUT :
31
OUTPUT :
418
OUTPUT :
32
OUTPUT :
410
OUTPUT :
34
OUTPUT :
442
OUTPUT :
36
OUTPUT :
444
OUTPUT :
38
OUTPUT :
416
OUTPUT :
40
OUTPUT :
418
OUTPUT :
42
OUTPUT :
410
OUTPUT :
87
OUTPUT :
452
OUTPUT :
88
OUTPUT :
424
OUTPUT :
90
OUTPUT :
456
OUTPUT :
92
OUTPUT :
418
OUTPUT :
94
OUTPUT :
410
OUTPUT :
96
OUTPUT :
462
OUTPUT :
98
OUTPUT :
464
OUTPUT :
100
OUTPUT :
466
OUTPUT :
102
OUTPUT :
418
OUTPUT :
104
OUTPUT :
410
OUTPUT :
105
OUTPUT :
472
OUTPUT :
234
OUTPUT :
474
OUTPUT :
236
OUTPUT :
466
OUTPUT :
238
OUTPUT :
478
OUTPUT :
239
OUTPUT :
366
OUTPUT :
481
OUTPUT :
482
OUTPUT :
483
OUTPUT :
484
OUTPUT :
485
OUTPUT :
486
OUTPUT :
487
OUTPUT :
488
OUTPUT :
489_______

Chúng tôi có một mảng đa chiều lưu trữ tên, điểm số và sức khỏe của người chơi. Chúng tôi sử dụng hàm

OUTPUT :
702 để tạo hai mảng riêng biệt có tên là
OUTPUT :
703 và
OUTPUT :
704 lưu trữ điểm số và sức khỏe của người chơi

Lưu ý thứ tự các mảng được chuyển đến hàm

OUTPUT :
701. Điều này sẽ ảnh hưởng đến kết quả cuối cùng. Chúng tôi chuyển mảng ________ 3703 trước và các giá trị trong ________ 3703 sẽ được sắp xếp theo thứ tự giảm dần. Điều này sẽ đưa Amanda lên đầu vì cô ấy có số điểm cao nhất. Bây giờ, các phần tử trong mảng
OUTPUT :
704 và
OUTPUT :
709 cũng sẽ được sắp xếp lại để sức khỏe của Amanda đứng đầu trong
OUTPUT :
704 và cô ấy đứng đầu trong
OUTPUT :
709

Nói cách khác,

OUTPUT :
701 sẽ sắp xếp toàn bộ mảng
OUTPUT :
703 theo thứ tự giảm dần. Sau đó, các giá trị trong các mảng khác cũng sẽ được sắp xếp lại để phù hợp với thứ tự đó. Vì vậy, thứ tự sẽ là Amanda, Andrew, Adam, Monty, v.v.

Khi nó đã đi qua toàn bộ mảng

OUTPUT :
703, nó sẽ chuyển sang mảng
OUTPUT :
704. Bạn sẽ nhận thấy rằng cả Adam và Monty đều có cùng số điểm. Vì vậy, vị trí cuối cùng của họ sẽ được xác định bởi các giá trị sức khỏe của họ, những giá trị này phải được sắp xếp theo thứ tự tăng dần. Monty có sức khỏe thấp hơn Adam, vì vậy anh ta sẽ được xếp trước Adam. Thứ tự của người chơi bây giờ sẽ trở thành Amanda, Andrew, Monty, Adam, v.v.

Tất cả các xung đột giá trị khác được giải quyết theo cách tương tự. Đây là kết quả cuối cùng mà bạn sẽ nhận được sau khi sắp xếp mảng

OUTPUT :
0
OUTPUT :
1
OUTPUT :
2
OUTPUT :
3
OUTPUT :
496
OUTPUT :
5
OUTPUT :
0
OUTPUT :
00
OUTPUT :
8
OUTPUT :
501
OUTPUT :
10
OUTPUT :
503
OUTPUT :
12
OUTPUT :
505
OUTPUT :
14
OUTPUT :
507
OUTPUT :
16
OUTPUT :
509
OUTPUT :
18
OUTPUT :
511
OUTPUT :
19
OUTPUT :
513
OUTPUT :
21
OUTPUT :
515
OUTPUT :
23
OUTPUT :
517
OUTPUT :
25
OUTPUT :
519
OUTPUT :
27
OUTPUT :
507
OUTPUT :
29
OUTPUT :
523
OUTPUT :
31
OUTPUT :
525
OUTPUT :
32
OUTPUT :
527
OUTPUT :
34
OUTPUT :
515
OUTPUT :
36
OUTPUT :
517
OUTPUT :
38
OUTPUT :
533
OUTPUT :
40
OUTPUT :
507
OUTPUT :
42
OUTPUT :
537
OUTPUT :
87
OUTPUT :
539
OUTPUT :
88
OUTPUT :
541
OUTPUT :
90
OUTPUT :
515
OUTPUT :
92
OUTPUT :
517
OUTPUT :
94
OUTPUT :
547
OUTPUT :
96
OUTPUT :
507
OUTPUT :
98
OUTPUT :
551
OUTPUT :
100
OUTPUT :
539
OUTPUT :
102
OUTPUT :
527
OUTPUT :
104
OUTPUT :
515
OUTPUT :
105
OUTPUT :
517
OUTPUT :
234
OUTPUT :
561
OUTPUT :
236
OUTPUT :
507
OUTPUT :
238
OUTPUT :
565
OUTPUT :
239
OUTPUT :
567
OUTPUT :
481
OUTPUT :
569
OUTPUT :
482
OUTPUT :
515
OUTPUT :
484
OUTPUT :
517
OUTPUT :
486
OUTPUT :
575
OUTPUT :
487
OUTPUT :
507________

Bây giờ điều đó có thể đã trở nên rõ ràng, nhưng tôi vẫn muốn chỉ ra rằng

OUTPUT :
701 sẽ không giúp bạn lưu nhiều lệnh gọi
OUTPUT :
079 cho các mảng riêng biệt. Đây là một ví dụ

OUTPUT :
0
OUTPUT :
1
OUTPUT :
2
OUTPUT :
3
OUTPUT :
013
OUTPUT :
5
OUTPUT :
015
OUTPUT :
0
OUTPUT :
8
OUTPUT :
018
OUTPUT :
10
OUTPUT :
12
OUTPUT :
021
OUTPUT :
14
OUTPUT :
00
OUTPUT :
16
OUTPUT :
501
OUTPUT :
18
OUTPUT :
503
OUTPUT :
19
OUTPUT :
029
OUTPUT :
21
OUTPUT :
031
OUTPUT :
23
OUTPUT :
033
OUTPUT :
25
OUTPUT :
035
OUTPUT :
27
OUTPUT :
037
OUTPUT :
29
OUTPUT :
003
OUTPUT :
31
OUTPUT :
74
OUTPUT :
32
OUTPUT :
34
OUTPUT :
044
OUTPUT :
36
OUTPUT :
00
OUTPUT :
38
OUTPUT :
501
OUTPUT :
40
OUTPUT :
503
OUTPUT :
42
OUTPUT :
052
OUTPUT :
87
OUTPUT :
054
OUTPUT :
88
OUTPUT :
056
OUTPUT :
90
OUTPUT :
058
OUTPUT :
92
OUTPUT :
060
OUTPUT :
94
OUTPUT :
003
OUTPUT :
96
OUTPUT :
74
OUTPUT :
98
OUTPUT :
100
OUTPUT :
106

Nếu ý định của bạn là sắp xếp cả hai mảng theo thứ tự tăng dần một cách độc lập, thì

OUTPUT :
701 sẽ khiến bạn thất vọng nặng nề. Đặt cược tốt nhất của bạn trong tình huống này là chỉ cần gọi riêng
OUTPUT :
079 trên cả hai mảng

Suy nghĩ cuối cùng

Trong hướng dẫn này, tôi đã chỉ cho bạn một số hàm khác nhau trong PHP có thể được sử dụng để sắp xếp mảng theo khóa hoặc giá trị của chúng. Chúng tôi cũng đã học cách sắp xếp một mảng theo các khóa hoặc giá trị của nó bằng cách sử dụng các tiêu chí sắp xếp tùy chỉnh của riêng chúng tôi với sự trợ giúp của các hàm

OUTPUT :
095 và
OUTPUT :
089. Phần cuối cùng thảo luận về cách sắp xếp tất cả các giá trị trong một mảng nhiều chiều chỉ sử dụng một trường cụ thể

Tôi hy vọng bạn đã học được điều gì đó mới từ hướng dẫn này. Nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào, vui lòng cho tôi biết trong phần bình luận. Cách tốt nhất để tìm hiểu là thử tạo một số ví dụ của riêng bạn, sắp xếp mảng bằng cách sử dụng các hàm này

Bài đăng này đã được cập nhật với sự đóng góp từ Monty Shokeen. Monty là một nhà phát triển full-stack, người cũng thích viết hướng dẫn và tìm hiểu về các thư viện JavaScript mới

Làm cách nào để sắp xếp mảng theo giá trị trong PHP?

Hàm arsort() sắp xếp một mảng kết hợp theo thứ tự giảm dần, theo giá trị. Mẹo. Sử dụng hàm asort() để sắp xếp một mảng kết hợp theo thứ tự tăng dần, theo giá trị. Mẹo. Sử dụng hàm krsort() để sắp xếp một mảng kết hợp theo thứ tự giảm dần, theo khóa

Làm cách nào để sắp xếp một mảng theo một mảng khác trong PHP?

$properOrderedArray = sortArrayByArray($customer, array('name', 'dob', 'address')); .
+ Trong khi cả hai đều hoạt động, tôi thấy array_replace() chuyển tiếp ý định tốt hơn array_merge(). – Jason McCreary. .
array_replace cũng để nguyên kiểu biến. .
Điều này cũng hoạt động trên các phím số ( array_merge() sẽ chỉ nối thêm chúng?)

Làm cách nào để sắp xếp lại các khóa mảng trong PHP?

Bạn có thể sử dụng hàm ksort của PHP để sắp xếp một mảng theo khóa theo thứ tự tăng dần . Bạn có thể sử dụng hàm krsort để sắp xếp mảng PHP theo khóa theo thứ tự giảm dần. Các hàm PHP ksort và krsort hoạt động tốt với cả chỉ mục số và khóa được đặt tên.

sort() trong PHP là gì?

Định nghĩa và cách sử dụng. Hàm sort() sắp xếp một mảng được lập chỉ mục theo thứ tự tăng dần . Mẹo. Sử dụng hàm rsort() để sắp xếp một mảng được lập chỉ mục theo thứ tự giảm dần.