PHP 排序数组
在本教程中,您将学习如何在 PHP 中按升序或降序对数组的元素或键进行排序。
用于排序数组的 PHP 函数
在上一章中,您学习了 PHP 数组的基本知识,即数组是什么、如何创建它们、如何查看它们的结构、如何访问它们的元素等。您可以使用数组做更多的事情,例如对数组进行排序 元素按您喜欢的任何顺序排列。
PHP 带有许多专门设计用于以不同方式对数组元素进行排序的内置函数,例如按字母顺序或数字按升序或降序排列。 在这里,我们将探讨一些最常用于对数组进行排序的函数。
sort()
和rsort()
— 用于排序索引数组asort()
和arsort()
— 用于按值对关联数组进行排序ksort()
和krsort()
— 用于按键排序关联数组
按升序对索引数组进行排序
sort()
函数用于按升序对索引数组的元素进行排序(字母按字母顺序,数字按数字顺序)。
<?php
// 定义数组
$colors = array("Red", "Green", "Blue", "Yellow");
// Sorting and printing array
sort($colors);
print_r($colors);
?>
此 print_r()
语句给出以下输出:
同样,您可以按升序对数组的数字元素进行排序。
<?php
// 定义数组
$numbers = array(1, 2, 2.5, 4, 7, 10);
// 排序和打印数组
sort($numbers);
print_r($numbers);
?>
此 print_r()
语句给出以下输出:
按降序对索引数组进行排序
rsort()
函数用于按降序对索引数组的元素进行排序(字母按字母顺序排列,数字按数字顺序排列)。
<?php
// 定义数组
$colors = array("Red", "Green", "Blue", "Yellow");
// 排序和打印数组
rsort($colors);
print_r($colors);
?>
此 print_r()
语句给出以下输出:
同样,您可以按降序对数组的数字元素进行排序。
<?php
// 定义数组
$numbers = array(1, 2, 2.5, 4, 7, 10);
// 排序和打印数组
rsort($numbers);
print_r($numbers);
?>
此 print_r()
语句给出以下输出:
按值升序对关联数组进行排序
asort()
函数根据值对关联数组的元素进行升序排序。 它的工作方式与 sort()
类似,但它在排序时保留键与其值之间的关联。
<?php
// 定义数组
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
// 按值排序数组并打印
asort($age);
print_r($age);
?>
此 print_r()
语句给出以下输出:
按值降序对关联数组进行排序
arsort()
函数根据值对关联数组的元素进行降序排序。 它的工作方式与 rsort()
类似,但它在排序时保留键与其值之间的关联。
<?php
// 定义数组
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
// 按值排序数组并打印
arsort($age);
print_r($age);
?>
此 print_r()
语句给出以下输出:
按键升序对关联数组进行排序
ksort()
函数通过键对关联数组的元素进行升序排序。 它在排序时保留键与其值之间的关联,与 asort()
函数相同。
<?php
// 定义数组
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
// 按键排序数组并打印
ksort($age);
print_r($age);
?>
此 print_r()
语句给出以下输出:
按键降序对关联数组进行排序
krsort()
函数按关联数组的元素的键以降序对元素进行排序。 它在排序时保留键及其值之间的关联,与 arsort()
函数相同。
<?php
// 定义数组
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
// 按键排序数组并打印
krsort($age);
print_r($age);
?>
此 print_r()
语句给出以下输出: