OUTPUT :1 INPUT :8 OUTPUT :3 OUTPUT :4 OUTPUT :3 OUTPUT :6 INPUT :5 OUTPUT :8 OUTPUT :3 INPUT :0 Show
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
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ợpCá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 địnhBố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óaSắ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 PHPNó 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 địnhTrong 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ộtCó 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ùngTrong 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. |