Home  >  Article  >  Backend Development  >  How to sort PHP array?

How to sort PHP array?

黄舟
黄舟Original
2017-05-04 11:30:0313007browse

How to sort a PHP array?

In our daily PHP array development, sorting of arrays is indispensable in many projects. So there are several types of PHP arrays The sorting methods are: asort() function and ksort() function. Today I will introduce them to you one by one!

The first method: asort()

asort() function is to sort the array and maintain the index relationship

The syntax format is as follows:

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Sort type tag:

  • SORT_REGULAR - normal comparison unit (does not change type)

  • SORT_NUMERIC - Cells are compared as numbers

  • SORT_STRING - Cells are compared as strings

  • SORT_LOCALE_STRING - Based on the current locale Set to compare cells as strings, which can be changed with setlocale() .

  • SORT_NATURAL - Similar to natsort(), which sorts strings in "natural order" for each unit. New in PHP 5.4.0.

  • SORT_FLAG_CASE - Can be combined with SORT_STRING or SORT_NATURAL (OR bit operation), case-insensitive sorting strings.

Note: sort is mostly used to sort numerical index arrays. If an associative array is put into sort to sort, the keys of the array will be lost. In addition, UTF8 Chinese cannot be sorted.

The following is a small example of the sort function. The specific code is as follows:

<?php
header("Content-Type:text/html; charset=utf-8");
$arr = [&#39;g&#39;,&#39;h&#39;,&#39;d&#39;,&#39;a&#39;,&#39;z&#39;,&#39;F&#39;,&#39;b&#39;,&#39;c&#39;,&#39;e&#39;,&#39;A&#39;,&#39;f&#39;];
print_r($arr);
sort($arr); // 从 A-Z, a-z, 数字从小到大  进行排序
print_r($arr);
?>

How to sort PHP array?

What happens if the value is a number and the sort function is used? Please look at the following code example:

<?php
header("Content-Type:text/html; charset=utf-8");
$arr2 = [8,1,2,10,3,4,5];
print_r($arr2);
sort($arr2); // 如果值是数子, 从小到大,进行排序
print_r($arr2);
?>

The output result is:

How to sort PHP array?

From the above example, we can see that if the value of the array is a number, use The sort() function will sort from smallest to largest!

The second method is to ascend the associative array: asort() and ksort()

asort() function sorts the array and maintains the index relationship.

Since associative arrays cannot be sorted using sort, what function should be used? We recommend using asort. The usage is the same as sort, but after sorting, the keys can still be retained.

The syntax format is as follows:

bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

The following is a small example of using the asort function. The code is as follows:

<?php
header("Content-Type:text/html; charset=utf-8");
//$arr = array("one"=>"100","two"=>"300","400"=>"教程");
$arr[&#39;one&#39;] = 100;
$arr[&#39;two&#39;] = 20;
$arr[&#39;three&#39;] = 3;
asort($arr);     // asort排序,键值会保留
print_r($arr);
?>

The output result is;

How to sort PHP array?

Note:

How to sort PHP array?

#Associative array is composed of keys and values, so what is asort? Sorted based on what?

We can prove that asort actually uses the values ​​of the array to sort, then if we want to sort the keys, we can use ksort.

The ksort() function sorts the array by key name.

The syntax format is as follows:


bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Sort the array by key name and retain the association between key name and data. This function is mainly used for associative arrays.

The following is a small example of using the ksort function. The code is as follows:

<?php
header("Content-Type:text/html; charset=utf-8");
//$arr = array("one"=>"100","two"=>"300","400"=>"教程");
$arr[&#39;one&#39;] = 100;
$arr[&#39;two&#39;] = 20;
$arr[&#39;three&#39;] = 3;
ksort($arr);    //使用key值对数组进行排序
print_r($arr);
?>

The output result is:

How to sort PHP array?

In this article we introduce is the ascending order of the PHP array, then we will introduce the reverse order of the array in the next article. There are also three functions to implement the reverse order. In the next article, I will introduce the three reciprocal functions in detail. For details, please see "

PHP Array Reverse order》!

【Related tutorial recommendations】

1. Relevant topic recommendations: "

php array (Array)"

2. Related video course recommendations:

Array sorting by value: sort() forward and rsort() reverse sorting functions

Array sorting by key name: ksort() ascending order and krsort() descending order function


The above is the detailed content of How to sort PHP array?. 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