Home > Backend Development > PHP Tutorial > How to sort array by key in PHP

How to sort array by key in PHP

PHPz
Release: 2024-03-19 09:14:01
forward
679 people have browsed it

php editor Strawberry will introduce to you how to sort arrays by key names in PHP. In PHP, you can use the ksort() function to sort an array in ascending order by key name, and use the krsort() function to sort an array in descending order by key name. These two functions will maintain the key-value association of the array and only sort the key names, which is very convenient and practical. Through these functions, you can easily sort arrays by key names and better manage and manipulate array data.

PHP array is sorted by key name

Introduction

In php, you can use the ksort() function to sort the array by key name. This function sorts the keys of the array in ascending order while maintaining the corresponding values.

grammar

ksort(array &$array);
Copy after login

in:

  • $array is the array that needs to be sorted, and the array will be modified directly.

usage

To sort the array by key name, you can use the following steps:

  1. Declare and initialize an array.
  2. Use the ksort() function to sort the array.

Example

$array = ["apple" => 10, "banana" => 20, "cherry" => 30, "dog" => 40];

ksort($array);

print_r($array);
Copy after login

Output:

Array
(
[apple] => 10
[banana] => 20
[cherry] => 30
[dog] => 40
)
Copy after login
Copy after login

Additional options

The following additional options can be used to control sorting behavior:

  • SORT_REGULAR: Sort by the natural order of key names (default).
  • SORT_NUMERIC: Sort by the numeric value of the key name.
  • SORT_STRING: Sort by the string value of the key name.

Custom sorting

If you need more complex sorting of key names, you can use a custom sort function. Custom sorting functions need to be in the following format:

function compare_function(string $a, string $b): int;
Copy after login

in:

  • $a and $b are the key names to be compared.
  • The value returned by this function can be one of the following:
    • -1 if $a comes before $b.
    • 0 if $a and $b are equal.
    • 1, if $a comes after $b.

Example

To customize the sort key name, please perform the following steps:

  1. Define a custom sorting function.
  2. Pass the custom sort function as the second parameter to the ksort() function.

Example

function custom_sort($a, $b)
{
return strcmp(strtoupper($a), strtoupper($b));
}

$array = ["apple" => 10, "banana" => 20, "cherry" => 30, "dog" => 40];

ksort($array, "custom_sort");

print_r($array);
Copy after login

Output:

Array
(
[apple] => 10
[banana] => 20
[cherry] => 30
[dog] => 40
)
Copy after login
Copy after login

Notice

  • ksort() The function will directly modify the passed array.
  • If the array contains duplicate key names, only the first key name and its corresponding value will be retained.
  • You can also use the krsort() function to sort the array in descending order by key name.

The above is the detailed content of How to sort array by key in PHP. For more information, please follow other related articles on the PHP Chinese website!

source:lsjlt.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template