Sorting an Array in PHP
By: David Sklar
You want to sort an array in a specific way.
To sort an array using the traditional definition of sort, use sort():
$states = array('Delaware', 'Pennsylvania', 'New Jersey'); sort($states);
To sort numerically, pass SORT_NUMERIC as the second argument to sort( ).
$scores = array(1, 10, 2, 20); sort($scores, SORT_NUMERIC);
This resorts the numbers in ascending order (1, 2, 10, 20) instead of lexicographical order (1, 10, 2, 20).
The sort() function doesn't preserve the key/value association between elements; instead, entries are reindexed starting at 0 and going upward. (The one exception to this rule is a one-element array; its lone element doesn't have its index reset to 0. This is fixed as of PHP 4.2.3.)
To preserve the key/value links, use asort( ). The asort( ) function is normally used for associative arrays, but it can also be useful when the indexes of the entries are meaningful:
$states = array(1 => 'Delaware', 'Pennsylvania', 'New Jersey'); asort($states); while (list($rank, $state) = each($states)) { print "$state was the #$rank state to join the United States\n"; }
Use natsort( ) to sort the array using a natural sorting algorithm. Under natural sorting, you can mix strings and numbers inside your elements and still get the right answer.
$tests = array('test1.php', 'test10.php', 'test11.php', 'test2.php'); natsort($tests);
The elements are now ordered: 'test1.php', 'test2.php', 'test10.php', and 'test11.php'. With natural sorting, the number 10 comes after the number 2; the opposite occurs under traditional sorting. For case-insensitive natural sorting, use natcasesort( ).
To sort the array in reverse order, use rsort( )or arsort( ), which is like rsort( ) but also preserves keys. There is no natrsort( ) or natcasersort( ). You can also pass SORT_NUMERIC into these functions.
Archived Comments
1. query:sorting date wise,and diplaying only resent submitted string or text like that plz put an exam
View Tutorial By: ramakanth at 2011-08-23 06:49:02
Comment on this tutorial
- Data Science
- Android
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Related Tutorials
PHP convert string to lower case
PHP code to write to a CSV file for Microsoft Applications
PHP code to write to a CSV file from MySQL query
PHP code to import from CSV file to MySQL
Password must include both numeric and alphabetic characters - Magento
Error: Length parameter must be greater than 0
PHP file upload prompts authentication for anonymous users
PHP file upload with IIS on windows XP/2000 etc
Multiple File Upload in PHP using IFRAME
Resume or Pause File Uploads in PHP
Exception in module wampmanager.exe at 000F15A0 in Windows 8