PHP asort() & arsort()

asort(array [,sort_flags]) sorts an associative array in ascend order by values.

<?PHP
	$arr=array("1"=>"Carbon","2"=>"carbon","3"=>"Protein", "4"=>"fat",);
    asort($arr, SORT_STRING);
	foreach($arr as $key=>$val) echo "$key, $val; "; 
    //1, Carbon; 3, Protein; 2, carbon; 4, fat;
?>

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

Sort by string and case insensitive.

<?PHP
 	$arr=array("1"=>"Carbon","2"=>"carbon","3"=>"Protein", "4"=>"fat",);
    asort($arr, SORT_STRING | SORT_FLAG_CASE);
	foreach($arr as $key=>$val) echo "$key, $val; "; 
    //1, Carbon; 2, carbon; 4, fat; 3, Protein; 
?>

arsort() sorts an associative array in descend order by values.

<?PHP
	$arr=array("1"=>"Carbon","2"=>"carbon","3"=>"Protein", "4"=>"fat",);
    arsort($arr, SORT_STRING | SORT_FLAG_CASE);
	foreach($arr as $key=>$val) echo "$key, $val; "; 
	//3, Protein; 4, fat; 2, carbon; 1, Carbon; 
?>

Following code can sort all the files in a directory by file size.

<?PHP
	function allfiles($dir, $prefix = '')
	{
		$dir = rtrim($dir, '\\/');
		$result = array();
		foreach (scandir($dir) as $f) {
		  if ($f !== '.' and $f !== '..') {
			if (is_dir("$dir\\$f")) {
			  $result = array_merge($result, allfiles("$dir\\$f", "$prefix$f\\"));
			} else {
			  $result[] = $prefix.$f;
			}
		  }
		}
		return $result;
	}

	$dir = "used_files/";
	$files = allfiles($dir);
	$arrsizes = array();
	foreach ($files as $file)
	{
		$arrsizes[$file] = filesize($dir.$file);
	}
	arsort($arrsizes, SORT_NUMERIC); //from largest size to smallest size
	//asort($arrsizes, , SORT_NUMERIC); //reverse
	$files = array_keys($arrsizes);
?>


:: PHP Tutorials Home ::
PHP String Functions
 • concatenation • echo
 • ereg • ereg_replace
 • explode • htmlspecialchars
 • preg_match • preg_replace
 • preg_split • print,sprintf
 • regular expr. • str_replace
 • strcmp • strpos
 • strrev • strrpos
 • strtr • substr
 • substr_replace
PHP Array Functions
 • array_diff • array_flip
 • array_intersect • array_key_exists
 • array_keys • array_merge
 • array_pop • array_push
 • array_rand • array_search
 • array_splice • array_unshift
 • array_values • asort & arsort
 • count • in_array
 • ksort, krsort • shuffle
 • sort
PHP Data Types
 • array • associative array
 • date & time • number
 • class, object • regular expression
 • string • variables
PHP Loop & Conditions
 • continue & break • for loop
 • foreach • if else
 • not equal • while
PHP File System Functions
 • copy • delete, unlink
 • dirname • download url
 • file_exists • is_file, filesize
 • mkdir, rmdir • read file
 • scandir • write file
PHP Popular Topics
 • ajax • clone
 • comments • constants
 • cookie • database
 • defined • die
 • form validation • gd, draw images
 • global variables • header url
 • heredoc • mail
 • pass by reference • print
 • regular expr. • sessions
 • threads • xml parse
PHP Math Functions
 • abs • cos
 • exp • floor & ceil
 • fmod • log
 • max & min • pow
 • round • sin
 • sqrt • tan
endmemo.com © 2024  | Terms of Use | Privacy | Home