Home  >  Article  >  Backend Development  >  Introduction to php array functions and summary of array sorting methods

Introduction to php array functions and summary of array sorting methods

伊谢尔伦
伊谢尔伦Original
2017-06-26 11:27:131401browse

With the rapid development of PHP, more and more people are using it. In the PHP Array learning excerpt, we learned about the establishment and creation of the most basic PHP array 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 sorting 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 according to the key name, retaining the association between the key name and the data
krsort : Sort the array in reverse order by key name, retaining the association of key names to data
natsort: Sort alphanumeric strings and maintain the original key/value association
natcasesort : Same as natsort sorting algorithm, but case-insensitive sorting


PHP array sorting (sort)
Number 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";

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

Output results:

-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.

<?php 
$a = array( 
"good" => "bad", 
"right" => "wrong", 
"boy" => "girl"); 
echo "value sort<br />"; 
asort($a); 
foreach($a as $key => $value){ 
echo "$key : $value<br />"; 
} 
echo "<br />key sort<br />"; 
ksort($a); 
foreach($a as $key => $value){ 
echo "$key : $value<br />"; 
} 
?>

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

The function range() that quickly creates an array
For example, the range() function can quickly create an array of numbers from 1 to 9:

<?php 
$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:

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

Pay attention to the case when using character arrays, such as 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:

<?php 
$people=array(&#39;name&#39;,&#39;sex&#39;,&#39;nation&#39;,&#39;birth&#39;); 
foreach ($people as $mychrs) 
echo $mychrs." "; 
sort($people); 
echo "<br />---排序后---<br />"; 
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 is case-sensitive (the order of letters from large to small is: A...Z...a... z) The

Sort() function also has a second parameter, which is used to indicate whether the PHP array sorting rule in ascending order is used to compare numbers or strings. For example:

<?php 
echo "---按数字升序排序---<br />"; 
$num2=array(&#39;26&#39;,&#39;3&#39;,); 
sort($num2,SORT_NUMERIC); 
foreach ($num2 as $mychrs) 
echo $mychrs." "; 
echo "<br />---按字符升序排序---<br />"; 
$num3=array(&#39;26&#39;,&#39;3&#39;); 
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).

The above is the detailed content of Introduction to php array functions and summary of array sorting methods. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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