PHP ksort


ksort(array) sorts an associative array by its key.

<?PHP
	$arr=array("apple"=>"carbon","rice"=>"carbon","nuts"=>"fat","meat"=>"protein");
    ksort($arr);
	foreach($arr as $key=>$val) echo "$key, $val; "; 
	//apple, carbon; meat, protein; nuts, fat; rice, carbon;
?>

The sort can be modified by sort_flags which include:
  • SORT_REGULAR: sort normally
  • SORT_NUMERIC: sort numerically
  • SORT_STRING: sort as strings
  • SORT_LOCALE_STRING: sort as strings based on the current locale
  • SORT_NATURAL: sort as strings using "natural ordering"
  • SORT_FLAG_CASE: combined with SORT_STRING or SORT_NATURAL to sort case insensitively
<?PHP
	$arr=array("APPLE"=>"carbon","23"=>"carbon","6"=>"fat","meat"=>"protein");
    ksort($arr);
	foreach($arr as $key=>$val) echo "$key, $val; "; 
    //APPLE, carbon; meat, protein; 6, fat; 23, carbon;
    ksort($arr,SORT_STRING);
	foreach($arr as $key=>$val) echo "$key, $val; "; 
    //23, carbon; 6, fat; APPLE, carbon; meat, protein;
?>

Sort by string and case insensitively:
<?PHP
	$arr=array("APPLE"=>"carbon","banana"=>"carbon","6"=>"fat","MEAT"=>"protein");
    ksort($arr, SORT_STRING);
	foreach($arr as $key=>$val) echo "$key, $val; "; 
    //6, fat; APPLE, carbon; MEAT, protein; banana, carbon; 
    ksort($arr,SORT_STRING | SORT_FLAG_CASE);
	foreach($arr as $key=>$val) echo "$key, $val; "; 
    //6, fat; APPLE, carbon; banana, carbon; MEAT, protein;
?>