在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中文網其他相關文章!