天天看點

PHP數組的使用方法小結

數組就是一組資料的集合,把一系列資料組織起來,形成一個可操作的整體。數組的每個實體都包含兩項:鍵和值。

一、什麼是數組

二、聲明資料

在PHP中聲明數組的方式主要有兩種:

一是應用array()函數聲明數組,

一是直接為數組元素指派。

<1>array()函數聲明的數組的方式array([mixed...]) 參數mixed的文法為key=>value

如,

<?php

$array=array("1"=>"編","2"=>"程","3"=>"詞","4"=>"典");

print_r($array);

echo "<br>";

echo $array[1]; //注意:下标預設是從0開始 

echo $array[2]; 

echo $array[3]; 

echo $array[4]; 

?>

<2>直接為數組元素指派。

如果在建立數組時不知所建立數組的大小,或在實際編寫程式時數組的大小可能發生變化,采用這種數組建立的方法較好。

$array[1]="I";

$array[2]="love";

$array[3]="PHP";

print_r($array); //輸出所建立數組的結構

三、數組的類型

PHP支援兩種數組:索引數組(indexed array)和聯合數組(associative array),前者使用數字作為鍵,後者使用字元串作為鍵。

四、輸出數組

在PHP中對數組元素輸出,可以通過echo和print語句來實作,但這隻能對數組中某一進制素進行輸出;要将數組結構輸出則要使用print_r()函數,其文法:print_r(mixed expression),參數expression為普通的整形、字元型或實型變量則輸出該變量本身,如果該參數為數組,則按一定鍵值和元素的順序顯示出該數組中的所有元素。

五、數組的構造

一維數組:

當一個數組的元素是變量時,則稱其為一維數組。

聲明一位數組: 類型說明符 數組名[常量表達式];

二維數組:

當一個數組的元素是一個一位數組時,則稱之為二維數組。

$str = array (

"網絡程式設計語言"=>array ("PHP","JSP","ASP"),

"體育項目"=>array ("m"=>"足球","n"=>"籃球")); 

print_r ( $str) ;

六、周遊數組

周遊數組中的所有元素是常用的一種操作,在周遊的過程中可以完成查詢或其他功能。在PHP中周遊數組的方法有多種,下面介紹最常用的兩種方法。

<1>使用foreach結構周遊數組;

<2>使用list()函數周遊數組,list()函數僅能用于數字索引的數組,且數字索引從0開始。

例:綜合使用list()和each()認證使用者登入:

//輸出使用者登入資訊

while(list($name,$value)=each($_POST)){

if($name!="submit"){

echo "$name=$value<br>";

}

七、統計數組元素個數

在PHP中,使用count()函數對數組中的元素個數進行統計,文法為:int coun(mixed array[,int mode]),其中參數array為必要參數,mode為可選參數,若選中COUNT——RECURSIVE(或1),本函數将遞歸地對數組數組。如,

$array = array("php" => array("PHP函數參考大全","PHP程式開發範例寶典","PHP資料庫系統開發完全手冊"),

"asp" => array("ASP經驗技巧寶典")

); //聲明一個二維數組 

echo count($array,COUNT_RECURSIVE);//遞歸統計數組元素的個數,運作結果為6

八、數組排序

<1>使用sort()和rsort()分别對數組進行升序和降序,如,

$array=array(5,26,37,18,9,42,88,66);

$array1=sort($array); 

for($i=0;$i<count($array);$i++){ 

echo $array[$i]." "; 

echo "<br>"; 

$array1=rsort($array); 

echo $array[$i]." ";

運作結果:

5 9 18 26 37 42 66 88 

88 66 42 37 26 18 9 5 

<2>使用ksort()和asort()對關聯數組排序

如果使用了相關數組,在排序後還要保持關鍵字和值的排序一緻,這是就需要使用ksort()和asort()函

數,如,

$array=array('php'=>1,'jsp'=>2,'asp'=>3);

ksort($array);

asort($array);

Array ( [asp] => 3 [jsp] => 2 [php] => 1 ) 

Array ( [php] => 1 [jsp] => 2 [asp] => 3 )

如何聯系我:【萬裡虎】www.bravetiger.cn

【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)

【部落格】http://www.cnblogs.com/kenshinobiy/