在PHP中,可以使用各种内置功能来对数组进行排序。让我们看一下如何对简单的数组进行分类。
排序一个简单的数字阵列:
要按升序排序简单的数字阵列,您可以使用sort()
函数。这是一个例子:
<code class="php">$numbers = array(4, 2, 8, 6, 1); sort($numbers); print_r($numbers);</code>
这将输出:
<code>Array ( [0] => 1 [1] => 2 [2] => 4 [3] => 6 [4] => 8 )</code>
对一个简单的关联阵列进行排序:
对于关联数组,您可以使用asort()
函数在按值进行排序时维护键值关联。这是一个例子:
<code class="php">$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); asort($fruits); print_r($fruits);</code>
这将输出:
<code>Array ( [c] => apple [b] => banana [d] => lemon [a] => orange )</code>
PHP提供了基于不同标准对数组进行排序的几个功能。以下是主要排序功能的列表:
sort() :按上升顺序对数组进行分组,并将键从0开始从0开始。
<code class="php">sort($array);</code>
rsort() :按降序排列一个数组,并将键从0开始的连续数值索引重置为连续的数值索引。
<code class="php">rsort($array);</code>
ASORT() :按升序排列阵列,维护索引关联。
<code class="php">asort($array);</code>
Arsort() :按降序排列一个阵列,维护索引关联。
<code class="php">arsort($array);</code>
ksort() :按键按升序排列一个数组。
<code class="php">ksort($array);</code>
krsort() :按键按降序对数组进行排序。
<code class="php">krsort($array);</code>
NATSORT() :使用“自然顺序”算法对数组进行分类,该算法可用于对包含数字的字符串进行排序。
<code class="php">natsort($array);</code>
Natcasesort() :使用不敏感的“自然顺序”算法对数组进行分类。
<code class="php">natcasesort($array);</code>
USORT() :通过用户定义的比较功能对数组进行分类。
<code class="php">usort($array, 'comparison_function');</code>
uasort() :对具有用户定义的比较功能的数组进行分组,并维护索引关联。
<code class="php">uasort($array, 'comparison_function');</code>
uksort() :使用用户定义的比较函数对键进行数组。
<code class="php">uksort($array, 'comparison_function');</code>
可以使用usort()
, uasort()
或uksort()
的自定义比较函数来对PHP中的多维数组进行排序。这是一个基于子阵列中特定键的多维数组排序的示例。
假设您有许多人的名字和年龄的人,您想按年龄按顺序排序:
<code class="php">$people = array( array("name" => "John", "age" => 25), array("name" => "Jane", "age" => 30), array("name" => "Jim", "age" => 20) ); function compareAge($a, $b) { return $a['age'] $b['age']; } usort($people, 'compareAge'); print_r($people);</code>
这将输出:
<code>Array ( [0] => Array ( [name] => Jim [age] => 20 ) [1] => Array ( [name] => John [age] => 25 ) [2] => Array ( [name] => Jane [age] => 30 ) )</code>
是的,您可以在使用asort()
和arsort()
函数维护索引关联的同时对php中的数组进行排序。
使用asort()
进行升序:
<code class="php">$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); asort($fruits); print_r($fruits);</code>
这将输出:
<code>Array ( [c] => apple [b] => banana [d] => lemon [a] => orange )</code>
使用arsort()
降序:
<code class="php">$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); arsort($fruits); print_r($fruits);</code>
这将输出:
<code>Array ( [a] => orange [d] => lemon [b] => banana [c] => apple )</code>
这两个函数都会按值对数组进行排序,但是键将与它们各自的值保持关联。
以上是您如何在PHP中排序数组?的详细内容。更多信息请关注PHP中文网其他相关文章!