PHP 菜鳥教程

PHP 高級教程

PHP & MySQL

PHP 參考手冊

PHP 數(shù)組排序

在本教程中,您將學(xué)習(xí)如何在PHP中按升序或降序?qū)?shù)組的元素 或 鍵進行排序。

PHP函數(shù)對數(shù)組進行排序

在上一章中,您已經(jīng)學(xué)習(xí)了PHP數(shù)組的基本知識,即什么是數(shù)組,如何創(chuàng)建它們,如何查看它們的結(jié)構(gòu),如何訪問它們的元素等。您可以使用數(shù)組做更多的事情,比如按照您指定的順序?qū)υ剡M行排序。

PHP附帶了許多內(nèi)置函數(shù),這些函數(shù)專門設(shè)計用于以不同的方式對數(shù)組元素進行排序,例如按字母或數(shù)字的升序或降序。在這里,我們將探討一些最常用于數(shù)組排序的函數(shù)。

  • sort() 和 rsort() — 對索引數(shù)組進行排序

  • asort() 和 arsort() — 用于按值對關(guān)聯(lián)數(shù)組進行排序

  • ksort() 和 krsort() — 用于按鍵對關(guān)聯(lián)數(shù)組進行排序

升序排序索引數(shù)組

sort()函數(shù)用于按升序?qū)λ饕龜?shù)組的元素進行排序(字母按字母順序,數(shù)字按數(shù)字)。

<?php
//定義數(shù)組
$colors = array("Red", "Green", "Blue", "Yellow");
 
//排序和打印數(shù)組
sort($colors);
print_r($colors);
?>
測試看看?/?

print_r() 語句提供以下輸出:

 Array ( [0] => Blue [1] => Green [2] => Red [3] => Yellow )

同樣,您可以按升序?qū)?shù)組的數(shù)字元素進行排序。

<?php
//定義數(shù)組
$numbers = array(1, 2, 2.5, 4, 7, 10);
 
//排序和打印數(shù)組
sort($numbers);
print_r($numbers);
?>
測試看看?/?

print_r() 語句提供以下輸出:

Array ( [0] => 1 [1] => 2 [2] => 2.5 [3] => 4 [4] => 7 [5] => 10 )

按降序?qū)λ饕龜?shù)組排序

rsort()函數(shù)用于按降序?qū)λ饕龜?shù)組的元素進行排序(字母順序按字母,數(shù)字順序按數(shù)字)。

<?php
//定義數(shù)組
$colors = array("Red", "Green", "Blue", "Yellow");
 
// 排序和打印數(shù)組
rsort($colors);
print_r($colors);
?>
測試看看?/?

print_r() 語句提供以下輸出:

Array ( [0] => Yellow [1] => Red [2] => Green [3] => Blue )

同樣,您可以按降序?qū)?shù)組的數(shù)字元素進行排序。

<?php
//定義數(shù)組
$numbers = array(1, 2, 2.5, 4, 7, 10);
 
//排序和打印數(shù)組
rsort($numbers);
print_r($numbers);
?>
測試看看?/?

print_r() 語句提供以下輸出:

Array ( [0] => 10 [1] => 7 [2] => 4 [3] => 2.5 [4] => 2 [5] => 1 )

按值升序?qū)﹃P(guān)聯(lián)數(shù)組進行排序

asort()函數(shù)根據(jù)值按升序?qū)﹃P(guān)聯(lián)數(shù)組的元素進行排序。 它的工作方式類似于sort(),但在排序時保留了鍵及其值之間的關(guān)聯(lián)。

<?php
//定義數(shù)組
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
 
//按值對數(shù)組排序并打印
asort($age);
print_r($age);
?>
測試看看?/?

print_r() 語句提供以下輸出:

Array ( [Harry] => 14 [Peter] => 20 [Clark] => 35 [John] => 45 )

按值降序?qū)﹃P(guān)聯(lián)數(shù)組進行排序

arsort()函數(shù)根據(jù)該值以降序?qū)﹃P(guān)聯(lián)數(shù)組的元素進行排序。 它的工作方式與rsort()相似,但是在排序時會保留鍵及其值之間的關(guān)聯(lián)。

<?php
//定義數(shù)組
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
 
//按值對數(shù)組排序并打印
arsort($age);
print_r($age);
?>
測試看看?/?

print_r() 語句提供以下輸出:

Array ( [John] => 45 [Clark] => 35 [Peter] => 20 [Harry] => 14 )

按鍵升序?qū)﹃P(guān)聯(lián)數(shù)組進行排序

ksort()函數(shù)按鍵的升序?qū)﹃P(guān)聯(lián)數(shù)組的元素進行排序。與asort()函數(shù)相同,它在排序時保留鍵及其值之間的關(guān)聯(lián)。

<?php
//定義數(shù)組
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
 
//按鍵排序數(shù)組并打印
ksort($age);
print_r($age);
?>
測試看看?/?

print_r() 語句提供以下輸出:

Array ( [Clark] => 35 [Harry] => 14 [John] => 45 [Peter] => 20 )

按鍵降序?qū)﹃P(guān)聯(lián)數(shù)組進行排序

ksort()函數(shù)通過鍵對其升序?qū)﹃P(guān)聯(lián)數(shù)組的元素進行排序。 與asort()函數(shù)相同,它在排序時保留鍵及其值之間的關(guān)聯(lián)。

<?php
//定義數(shù)組
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
 
//按鍵排序數(shù)組并打印
krsort($age);
print_r($age);
?>
測試看看?/?

print_r()語句提供以下輸出:

Array ( [Peter] => 20 [John] => 45 [Harry] => 14 [Clark] => 35 )
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清