Summary of PHP array sorting methods Recommended collection_PHP tutorial

WBOY
Release: 2016-07-21 15:36:35
Original
901 people have browsed it

With the rapid development of PHP, more and more people are using it. In the PHP array learning excerpt, you can learn about the establishment of the most basic PHP array and the display of array elements. You need to learn in depth the related operations of PHP arrays. The first thing I came into contact with was the problem of PHP array sorting and descending order.

sort: This function assigns new key names to the cells in the array. This will delete the original keys rather than just reorder them.
rsort: This function sorts the array in reverse order (highest to lowest). Delete the original key names instead of just reordering them.
asort: Sort the array and maintain the index relationship
arsort: Sort the array in reverse and maintain the index relationship

ksort: Sort the array by key name and retain the association between key name and data
krsort: Sort the array in reverse order by key name, retaining the association between key names and data

natsort: Sort alphanumeric strings and maintain the original key/value association
natcasesort: Same as natsort Sorting algorithm, but case-insensitive letter sorting


PHP array sort (sort)
Numeric index array sorting:
Function: sort(array, [sort type])
Description: The sort() function sorts the specified array (first parameter) in ascending order.
The second parameter of the sort function is used to specify the sorting type and is an optional parameter. The possible values ​​are:
SORT_REGULAR: Default value, sort without changing the type;
SORT_NUMERIC: Sort the values ​​as numbers;
SORT_STRING: Sort the values ​​as strings;
If there are 4 and "37" in the array, sort by numbers, 4 is less than "37"; sort by string, 4 is greater than "37";

Copy code The code is as follows:

$a = array(4,"37", 3,100,0,-5);
sort($a);
for ($i=0; $i<6; ++$i){
echo $a[$i]." ";
}
echo "
";
sort($a,SORT_STRING);
for ($i=0; $i<6; ++$i) {
echo $a[$i]." ";
}
echo "
";
?>

Output result:

-5 0 3 4 37 100
-5 0 100 3 37 4

Descending sort: rsort(array, [sort type])
Parameter usage is the same as the sort function.

Associative array sorting:
Function: asort(array, [sort type])
Description: Sort in ascending order according to the element values ​​of the associative array. Parameter usage is as shown in the sort function above.

Function: ksort(array, [sort type])
Description: Sort in ascending order according to the keywords of the associative array. Parameter usage is as shown in the sort function above.


Copy code The code is as follows:

$a = array(
"good" => "bad",
"right" => "wrong",
"boy" => "girl");

echo "value sort< ;br />";
asort($a);
foreach($a as $key => $value){
echo "$key : $value
";
}

echo "
key sort
";
ksort($a);
foreach($a as $key => $ value){
echo "$key : $value
";
}
?>

Output result:

value sort
good : bad
boy : girl
right : wrong

key sort
boy : girl
good : bad
right : wrong
Descending sort:
arsort(array, [sort type]) corresponds to asort
krsort(array, [sort type]) corresponds to ksort


Quick creation Array function range()

For example, the range() function can quickly create an array of numbers from 1 to 9:
Copy code The code is as follows:

$numbers=range(1,9);
echo $numbers[1];
?>

Of course, using range(9,1) creates a number array from 9 to 1. At the same time, range() can also create a character array from a to z:
Copy code The code is as follows:

< ?php
$numbers=range(a,z);
foreach ($numbers as $mychrs)
echo $mychrs." ";
?>


Pay attention to the case when using character arrays. For example, range(A,z) and range(a,Z) are different. The range() function also has a third parameter, which is used to set the step size. For example, the array elements created by range(1,9,3) are: 1, 4, 7. Common PHP array sorting Generally, each element in the array is represented by characters or numbers, so the array elements can be arranged in ascending order. This function is sort(). For example:
Copy code The code is as follows:

$people=array('name','sex','nation','birth');
foreach ($people as $mychrs)
echo $mychrs." ";
sort($people);
echo "
---After sorting---
";
foreach ($people as $mychrs)
echo $mychrs." ";
?>

The array elements sorted in ascending order are displayed as birth name nation sex. Of course, the sort() function distinguishes letters Upper and lower case (the order of letters from large to small is: A...Z...a...z)

Sort() function also has a second parameter, which is used to illustrate that the rule of PHP array sorting in ascending order is used for comparison Numbers or strings. For example:
Copy code The code is as follows:

echo "---Sort in ascending numerical order ---
";
$num2=array('26','3',);
sort($num2,SORT_NUMERIC);
foreach ($num2 as $mychrs )
echo $mychrs." ";
echo "
---Sort in ascending character order---
";
$num3=array('26 ','3');
sort($num3,SORT_STRING);
foreach ($num3 as $mychrs)
echo $mychrs." ";
?>

SORT_NUMERIC and SORT_STRING are used to declare ascending order of numbers or characters. If arranged in ascending order of numbers, it is: 3, 26; but if arranged in ascending order of characters, it is: 26, 3. In addition to the ascending function in PHP, there is also a descending or reverse sorting function, which is the rsort() function. For example: $num1=range(1,9); rsort($num1); here is actually equivalent to range(9 ,1).

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/322128.htmlTechArticleWith the rapid development of PHP, more and more people are using it. Learn about it in the excerpt of PHP array learning The most basic PHP array creation and display of array elements. Need to learn more about PHP arrays...
source:php.cn
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