Home >Backend Development >PHP Problem >How to sort one-dimensional array in ascending order in php (without removing duplicates)
Three methods of ascending sorting: 1. Use the sort() function to sort the array elements in ascending order, the syntax is "sort($arr, sort mode);"; 2. Use the asort() function, It can be sorted in ascending order according to the key value of the associative array, the syntax is "asort($arr, sorting mode)"; 3. Using the ksort() function, it can be sorted in ascending order according to the key name of the associative array, the syntax is "ksort($arr, sorting mode)" model)".
The operating environment of this tutorial: Windows 7 system, PHP version 8.1, DELL G3 computer
In PHP, one-to-one without deduplication Three common methods for ascending sorting of dimensional arrays:
sort(): Sort array elements in ascending order
asort(): According to Sort the array in ascending order according to the key value of the associative array
ksort(): Sort the array in ascending order according to the key name of the associative array
1. Use the sort() function
The sort() function sorts the array elements in ascending order (from small to large, from low to high).
<?php header("Content-type:text/html;charset=utf-8"); $arr1 = array(10, 23, 5, 12, 84, 16); sort($arr1); var_dump($arr1); $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); sort($arr2); var_dump($arr2); ?>
Output:
Output result:sort() function has two parameters: $array (required) and $sortingtype (can be omitted ).
Among them, the $sortingtype parameter is used to define the function sorting mode and specify how to compare the elements/items of the array. The default value is "SORT_REGULAR".
The $sortingtype parameter can be set to the following values:
0 = SORT_REGULAR: Compare array elements normally without changing their type (default value);
1 = SORT_NUMERIC: Treat array elements as numbers;
- ##2 = SORT_STRING: Treat array elements as strings;
- 3 = SORT_LOCALE_STRING: Compare array elements as strings based on the current locale (can be changed via setlocale()).
- 4 = SORT_NATURAL: Similar to natsort(), it sorts strings in "natural order" for each array element. It is new in PHP5.4.0.
- 5 = SORT_FLAG_CASE: Can be combined with SORT_STRING or SORT_NATURAL (OR bitwise operation), case-insensitive sorting string.
<?php header("Content-type:text/html;charset=utf-8"); $arr1 = array(10, 23, 5, 12, 84, 16); sort($arr1,2); var_dump($arr1); $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); sort($arr2,1); var_dump($arr2); ?>
<?php header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); sort($age); var_dump($age); ?>Output:
2. Use the asort() function
The asort() function will sort the associative array in ascending order based on the key values and will not modify the key names in the original array. .header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); asort($age); var_dump($age); ?>Output:
asort() function also has two parameters, the parameter values are the same as the sort() function, you can refer to.
3. Use the ksort() function
The ksort() function will sort the associated array in ascending order according to the key name, and will not modify the original array. key name.<?php header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); ksort($age); var_dump($age); ?>Output:
##
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple"); ksort($arr); var_dump($arr); ?>Output:
## The #ksort() function also has two parameters. The parameter values are the same as the sort() function. You can refer to them.
"Recommended learning: "
PHP Video Tutorial
The above is the detailed content of How to sort one-dimensional array in ascending order in php (without removing duplicates). For more information, please follow other related articles on the PHP Chinese website!