(PHP 4, PHP 5, PHP 7, PHP 8)
ksort — Sort an array by key in ascending order
Sorts array in place by keys
in ascending order.
Note:
If two members compare as equal, they retain their original order. Prior to PHP 8.0.0, their relative order in the sorted array was undefined.
Note:
Resets array's internal pointer to the first element.
arrayThe input array.
flags
The optional second parameter flags
may be used to modify the sorting behavior using these values:
Sorting type flags:
SORT_REGULAR - compare items normally;
the details are described in the comparison operators section
SORT_NUMERIC - compare items numerically
SORT_STRING - compare items as strings
SORT_LOCALE_STRING - compare items as
strings, based on the current locale. It uses the locale,
which can be changed using setlocale()
SORT_NATURAL - compare items as strings
using "natural ordering" like natsort()
SORT_FLAG_CASE - can be combined
(bitwise OR) with
SORT_STRING or
SORT_NATURAL to sort strings case-insensitively
Always returns true.
| Version | Description |
|---|---|
| 8.2.0 |
The return type is true now; previously, it was bool.
|
| 8.2.0 |
This function now does numeric string comparison under
SORT_REGULAR using the standard PHP 8 rules.
|
Example #1 ksort() example
<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>The above example will output:
a = orange b = banana c = apple d = lemon
Example #2 ksort() with int keys
<?php
$a = [0 => 'First', 2 => 'Last', 1 => 'Middle'];
var_dump($a);
ksort($a);
var_dump($a);
?>The above example will output:
array(3) {
[0]=>
string(5) "First"
[2]=>
string(4) "Last"
[1]=>
string(6) "Middle"
}
array(3) {
[0]=>
string(5) "First"
[1]=>
string(6) "Middle"
[2]=>
string(4) "Last"
}