Home >Backend Development >PHP Tutorial >Tips for learning PHP arrays: Use array functions to sort arrays in ascending order!

Tips for learning PHP arrays: Use array functions to sort arrays in ascending order!

青灯夜游
青灯夜游Original
2021-07-29 15:26:475330browse

Array sorting is a common operation in arrays (another common operation is looping, which was introduced in the previous article. If you are interested, you can check out "PHP Loop Learning 4: How to use the foreach statement to traverse and modify an array Element》), which sorts the elements inside the array, can manage data effectively and reasonably, and improve the execution efficiency of the program.

Today we will take a look at the ascending operation in array sorting, introduce several array functions that can be sorted in ascending order, and use code examples to show how these array sorting functions perform ascending sorting. (Attachment: PHP function array array function video explanation)

There are three commonly used ascending array sorting functions in PHP:

  • sort() : Sort the array elements in ascending order

  • asort(): Sort the array in ascending order according to the key value of the associated array

  • ksort() : Sort the array in ascending order according to the key name of the associated array

1. Use the sort() function

sort() function to sort the array The elements are sorted in ascending order (small to large, 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:

Tips for learning PHP arrays: Use array functions to sort arrays in ascending order!

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);
?>
Output result:


Tips for learning PHP arrays: Use array functions to sort arrays in ascending order!

sort() function will not maintain the index relationship and will delete the array to the original key name and assign it a new numeric key name.

<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
sort($age);
var_dump($age);
?>

Output:


Tips for learning PHP arrays: Use array functions to sort arrays in ascending order!

The sort() function can be used for arrays where the relationship between values ​​and indexes is not so important (numeric arrays), but Arrays that focus on the relationship between values ​​and indexes are not suitable. At this point, you need to use the asort() and ksort() functions.

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:


Tips for learning PHP arrays: Use array functions to sort arrays in ascending order!

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);
?>
Tips for learning PHP arrays: Use array functions to sort arrays in ascending order!Output:


Tips for learning PHP arrays: Use array functions to sort arrays in ascending order!## The #ksort() function also has two parameters. The parameter values ​​are the same as the sort() function. You can refer to them.

Recommended:

PHP interview questions summary (collection)》《php video tutorial

The above is the detailed content of Tips for learning PHP arrays: Use array functions to sort arrays in ascending order!. 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