PHP sắp xếp mảng theo khóa cụ thể

Tiếp theo, hàm ksort sắp xếp các phần tử theo thứ tự tăng dần trong khi vẫn để ý đến các phím. Lưu ý rằng bạn sẽ nhận được giá trị đúng mỗi khi bạn thực hiện cùng một chức năng

Vì vậy, nếu bạn đang nghĩ về việc sắp xếp các mảng theo khóa, thì không chọn gì ngoài hàm PHP ksort

– Mô tả kiểu sắp xếp trong PHP ksort

PHP cung cấp nhiều kiểu sắp xếp quyết định cách so sánh các khóa. Tuy nhiên, nếu bạn không vượt qua bất kỳ sort_type nào, kiểu sắp xếp “SORT_REGULAR” sẽ được sử dụng theo mặc định

Đây là "loại sắp xếp" hoặc "cờ" hợp lệ có thể được sử dụng

  • SORT_REGULAR. Nó so sánh các phần tử của mảng mà không thay đổi kiểu dữ liệu của cùng một mảng
  • SORT_NUMERIC. Nó so sánh các mục mảng đã cho bằng số
  • SORT_STRING. Nó chuyển đổi các phần tử mảng đã cho thành các chuỗi trước khi so sánh chúng
  • SORT_LOCALE_STRING. Nó so sánh các mục mảng sau khi chuyển đổi giống nhau thành các chuỗi dựa trên ngôn ngữ hiện tại
  • SORT_NATURAL. Nó cho phép so sánh các mục mảng một cách tự nhiên tương tự như cách con người sẽ thực hiện so sánh
  • SORT_FLAG_CASE. Cờ đã nêu được sử dụng với cờ SORT_NATURAL hoặc SORT_STRING được phân tách bằng toán tử OR theo bit “. ” để so sánh các mục mảng không phân biệt chữ hoa chữ thường

Ví dụ mã hóa PHP ksort

Phần này đề cập đến các ví dụ viết mã liên quan đến hàm ksort(). Thật vậy, bạn có thể sử dụng hàm đã cho để sắp xếp cả mảng được lập chỉ mục và mảng kết hợp. Tuy nhiên, đừng quên rằng việc sắp xếp sẽ được thực hiện phân biệt chữ hoa chữ thường cho đến khi bạn chuyển SORT_FLAG_CASE với các cờ đối tác ưa thích của nó làm đối số thứ ba

– PHP sắp xếp với mảng được lập chỉ mục

Ví dụ. bạn có một mảng tên động vật với chỉ số. Bây giờ, bạn muốn lập chỉ mục lại mảng “động vật” theo thứ tự tăng dần theo các khóa. Vì vậy, ở đây bạn sẽ sử dụng ksort trong PHP để lấy mảng ưa thích của mình

Đoạn mã sau đây cho biết cách thực thi ksort trong PHP để sắp xếp mảng “động vật” theo khóa theo thứ tự tăng dần

// tạo mảng động vật$animals = array(3 => . Mảng ( [0] => Kangaroo [2] => Gấu [3] => Hươu [4] => Mèo [6] => Bò )?>
// tạo mảng động vật
$animals = array(
3 => “Hươu”,
Kangaroo [2] => Gấu [3] => Hươu [4] => Mèo [6] => Bò )
4 => “Cat”,
2 => “Bear”,
0 => “Kangaroo”
);
// using the ksort function
ksort($animals);
// printing the animals array sorted by key
print_r($animals);
// output: Array ( [0] => Kangaroo [2] => Bear [3] => Deer [4] => Cat [6] => Cow )
?>

– Sử dụng PHP ksort để sắp xếp một mảng kết hợp

Giả sử có một mảng kết hợp gồm các dấu chứa tên chủ thể làm khóa và các dấu tương ứng làm giá trị. Bây giờ, bạn muốn sắp xếp lại mảng đánh dấu sao cho tên chủ đề được sắp xếp theo thứ tự bảng chữ cái. Vì vậy, ở đây bạn sẽ sử dụng hàm ksort để sắp xếp lại mảng đánh dấu theo thứ tự tăng dần dựa trên các khóa được đặt tên

Vui lòng xem qua đoạn mã mô tả ví dụ trên để PHP sắp xếp mảng kết hợp theo khóa

// tạo một mảng nhãn hiệu với các khóa được đặt tên$marks = array( . Mảng ( [Hóa học] => 90 [Tiếng Anh] => 79 [Toán học] => 88 [Vật lý] => 78 )?>
// creating an array of marks with named keys
$marks = array(
“English” => 79,
“Chemistry” => 90,
“Physics” => 78,
“Mathematics” => 88,
);
// using the ksort function
ksort($marks);
// printing the marks array sorted by key
print_r($marks);
// output: Array ( [Chemistry] => 90 [English] => 79 [Mathematics] => 88 [Physics] => 78 )
?>

Thứ tự mảng PHP theo khóa theo thứ tự giảm dần

Bạn có muốn PHP sắp xếp mảng theo khóa theo thứ tự giảm dần không? . “Krsort (). ” Chắc chắn, hàm krsort() xử lý các mảng giống như hàm ksort() ngoại trừ các thứ tự sắp xếp khác nhau

Do đó, các mảng có chỉ số sẽ có các khóa được sắp xếp theo thứ tự giảm dần. Và các mảng có khóa được đặt tên sẽ sắp xếp lại các khóa theo thứ tự bảng chữ cái đảo ngược

– Khối mã để sắp xếp các chỉ số theo thứ tự giảm dần

Hãy tưởng tượng bạn đã tạo một chương trình cho một cửa hàng hoa và khách hàng thường đặt hàng các loại hoa khác nhau. Vì vậy, bạn đã thêm tất cả các bông hoa được yêu cầu vào một mảng kết hợp trong khi thêm số lượng cần thiết của các bông hoa giống như các phím. Bây giờ, bạn muốn xem những bông hoa có nhu cầu cao nhất ở đầu mảng

Do đó, bạn sẽ sử dụng hàm krsort() để sắp xếp mảng hoa theo khóa theo thứ tự giảm dần như khối mã được chia sẻ bên dưới

// tạo mảng hoa$flowers = array(1000 => . Mảng ( [3000] => Hoa hồng [2500] => Hoa sen [1500] => Hoa hướng dương [1200] => Hoa tulip [1000] => Hoa cúc)?>
// creating an array of flowers
$flowers = array(
1000 => “Daisy”,
1500 => “Sunflower”,
3000 => “Rose”,
1200 => “Tulip”,
2500 => “Lotus”
);
// using the krsort function
krsort($flowers);
// printing the flowers array sorted by key
print_r($flowers);
// output: Array ( [3000] => Rose [2500] => Lotus [1500] => Sunflower [1200] => Tulip [1000] => Daisy )
?>

– Khối mã để sắp xếp các khóa được đặt tên theo thứ tự giảm dần

Ví dụ. bạn có một mảng sách với tên tác giả là khóa và tên sách là giá trị. Bây giờ, bạn muốn sắp xếp mảng đã cho theo khóa theo thứ tự bảng chữ cái đảo ngược. Ở đây, đoạn mã dưới đây sẽ giúp bạn sắp xếp các khóa “tên tác giả” theo thứ tự bảng chữ cái đảo ngược bằng cách sử dụng hàm krsort()

// tạo một mảng sách$books = array(“Jon Stokes . Martin” => “Mã sạch”);// sử dụng hàm krsortkrsort($books);< . Mảng ( [Steve McConnell] => Hoàn thành mã [Robert C. Martin] => Mã sạch [Max Kanat-Alexander] => Mã đơn giản [Jon Stokes] => Bên trong máy [Jon Bentley] => Ngọc trai lập trình )?>
// creating an array of books
$books = array(
“Jon Stokes” => “Inside the Machine”,
“Steve McConnell” => “Code Complete”,
“Jon Bentley” => “Programming Pearls”,
“Max Kanat-Alexander” => “Code Simplicity”,
“Robert C.Martin” => “Clean Code”
);
// using the krsort function
krsort($books);
// printing the books array sorted by key
print_r($books);
// output: Array ( [Steve McConnell] => Code Complete [Robert C.Martin] => Clean Code [Max Kanat-Alexander] => Code Simplicity [Jon Stokes] => Inside the Machine [Jon Bentley] => Programming Pearls )?>

Sắp xếp mảng đa chiều theo khóa cụ thể

Có phải bạn vừa gặp phải yêu cầu sắp xếp mảng theo khóa cụ thể không? . Hàm array_multisort() có thể giúp ích rất nhiều trong việc sắp xếp một mảng nhiều chiều chứa các mảng kết hợp có cùng khóa và sắp xếp nhiều mảng riêng lẻ cùng một lúc.

Đây là quy trình hai bước

  1. Tạo một mảng riêng để lưu trữ tất cả các giá trị của khóa được yêu cầu
  2. Sử dụng hàm array_multisort() để sắp xếp mảng mới tạo dựa trên mảng ban đầu bằng cách chuyển cả hai mảng đã cho về cùng một mảng

– Sử dụng array_multisort() để sắp xếp mảng theo khóa cụ thể

Hàm array_multisort() chấp nhận một mảng, một thứ tự sắp xếp tùy chọn, một kiểu sắp xếp tùy chọn và một hoặc nhiều mảng tùy chọn. Cú pháp trông như thế này. mảng_multisort(mảng, thứ tự sắp xếp, kiểu_sắp xếp, mảng…) . Theo cú pháp đã nêu, sorting_order được đặt thành SORT_ASC theo mặc định, nhưng bạn cũng có thể thay đổi nó thành SORT_DESC.

Ngoài ra, sorting_type có thể được đặt thành bất kỳ kiểu sắp xếp nào được đề cập ở trên cùng với hàm PHP ksort. Xin lưu ý rằng SORT_REGULAR cũng là kiểu sắp xếp mặc định trong hàm array_multisort()

– Đoạn mã để sắp xếp mảng theo khóa cụ thể

Ví dụ, bạn có một mảng đa chiều các sinh viên. Hiện tại, mảng được sắp xếp theo id sinh viên nhưng bây giờ, bạn muốn sắp xếp mảng đã cho theo thứ hạng của sinh viên. Do đó, bạn sẽ làm theo hai bước được đề cập ở trên để sắp xếp mảng theo cấp bậc theo thứ tự tăng dần tương tự như khối mã này

//tạo mảng sinh viên$std = array(array(“
// creating an array of students
$std = array(
array(“studentID” => “101HI”, “rank” => 4),
array(“studentID” => “102BK”, “rank” => 1),
array(“studentID” => “103LK”, “rank” => 5),
array(“studentID” => “104NN”, “rank” => 3),
array(“studentID” => “105SD”, “rank” => 2)
);
// creating an empty ranks array
$ranks = array();
// filling up the ranks array with “rank” values from std array
foreach ($std as $key => $value)
{
$ranks[$key] = $value[“rank”];
}
// using the array_multisort function
array_multisort($ranks, $std);
// printing the std array sorted by rank
print_r($std);
?>

Mời các bạn xem mảng đa chiều đã sắp xếp bên dưới

Mảng (
[0] => Mảng ( [studentID] => 102BK [rank] => 1 )
[1] =>
[2] => Array ( [studentID] => 104NN [rank] => 3 )
[3] => Array ( [studentID] => 101HI [rank] => 4 )
[4] => Array ( [studentID] => 103LK [rank] => 5 )
)

kết thúc

Biên dịch cuộc thảo luận ở trên, các hàm PHP ksort, krsort() và array_multisort() cung cấp rất nhiều trợ giúp trong việc sắp xếp các mảng theo khóa. Vì vậy, có thể là thứ tự tăng dần hoặc giảm dần, mảng đơn giản hay mảng nhiều chiều, bạn đã học cách xử lý các tác vụ sắp xếp mảng dựa trên các phím. Ngoài ra, liệt kê dưới đây là những điểm mà bạn không bao giờ được quên để PHP sắp xếp mảng theo khóa một cách hiệu quả

  • Bạn có thể sử dụng hàm PHP ksort để 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
  • Hàm array_multisort cho phép sắp xếp một mảng nhiều chiều theo một khóa cụ thể theo bất kỳ thứ tự nào

PHP sắp xếp mảng theo khóa cụ thể
Vì vậy, bây giờ bạn có thể sắp xếp bất kỳ loại mảng nào theo khóa mà không cần vắt óc vì bạn đã có danh sách ý tưởng phù hợp ở trên

5/5 - (14 phiếu bầu)

  • Tác giả
  • Bài viết gần đây

PHP sắp xếp mảng theo khóa cụ thể

Vị trí là tất cả

Vị trí là tất cả. Tài nguyên Go-To của bạn để Tìm hiểu & Xây dựng. CSS, JavaScript, HTML, PHP, C++ và MYSQL

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

Hàm ksort() sắp xếp một mảng kết hợp theo thứ tự tăng dần, theo khóa . 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. 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ị.

Làm cách nào để sắp xếp mảng nhiều chiều theo khóa trong PHP?

Cách sắp xếp mảng nhiều chiều theo giá trị khóa trong PHP .
Sử dụng hàm PHP array_column() để lấy các giá trị từ một cột khóa cụ thể trong mảng
Sử dụng hàm PHP array_multisort() để sắp xếp một mảng theo giá trị khóa

Làm cách nào để sắp xếp các giá trị mảng 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ử dụng Rsort trong PHP?

Hàm PHP rsort() .
Sắp xếp các phần tử của mảng $cars theo thứ tự bảng chữ cái giảm dần. $cars=array("Volvo","BMW","Toyota");.
Sắp xếp các phần tử của mảng $numbers theo thứ tự số giảm dần. $numbers=mảng(4,6,2,22,11);.
So sánh các mục bằng số và sắp xếp các phần tử của mảng $cars theo thứ tự giảm dần