數組
1.概述
數組提供了一種快速,方便地管理一組相關數據的方法,是php程序設計中的重要內容。通過數組可以對大量性質相同的數據進行存儲,排序,插入及刪除等操作,從而可以有效地提高程序開發效率及改善程序的編寫方式。
數組是一組數據的集合,將數據按照一定規則組織起來,形成一個可操作的整體,是對大量數據進行有效組織和管理的手段之一,通過數組函數可以對大量性質相同的數據進行存儲,排序,插入及刪除等操作,從而可以有效地提高程序開發效率及改善程序的編寫方式。
2.數組類型
數組的本質是儲存,管理和操作一組變量。php中將數組分為一維數組,二維數組和多維數組,但無論是一維還是多維,可以統一將數組分為數字索引數組和關聯數組兩種,數字索引數組使用數字作為鍵名,關聯數組使用字符串作為鍵名。
數字索引數組,下標(鍵名)由數字組成,默認從0開始,每個數字對應數組元素在數組中的位置,不需要特別指定,php自動會為數字索引數組鍵名賦一個整數值,然後從這個值開始自動增量,也可以指定從哪個位置開始。
關聯數組,下標(鍵名)由數值和字符串混合的形式組成的數組。
數組需要用鍵名來訪問存儲在數組中的值。
3.聲明數組
注意:1.數組名以$開始,第一個字符是字母或下劃線,其後是任意數量的字母,數字或下劃線。
2.在同一程序中,標量變量和數組變量都不能重名。
3.數組的名稱區分大小寫
聲明數組的方法有兩種,分別是用戶聲明和函數聲明。
1.用戶聲明
$array['0']="php數組";
$array['1']="php學習";
2.函數聲明
$arrr=array('one'='php','two'='java');
創建二維數組,以上創建的都是只有一列數據內容,因此稱為一維數組,如果將兩個一維數組組合成一個數組那麼就是二維數組。
例:$str=array(
"網絡"=>array("ip地址","網關");
"圖書"=>array("春秋","戰國");
)
4,遍歷數組
遍歷數組就是按照一定的順序依次訪問數組中的每個元素,直到訪問完為止。在php中可以通過流程語句(foreach和for循環語句)和函數(list()和each())來遍歷數組。
foreach(),
for來遍歷數組要用count()函數來獲取數量。如果要遍歷的數組是數字索引數組,並且數組的索引值為連續的整數時,可以使用for循環來遍歷,但是前提條件是需要應用count()函數獲取到數組中元素的數量,然後將獲取的元素數量作為for循環的執行條件,才能完成數組的循環。
例:for($i=0;$i<count($array);$i++){echo $array[$i]."<br>"}
通過數組函數list和each遍歷數組:
list()函數將數組中的值賦給一些變量,該函數僅能用於數字索引的數組,且數字索引從0開始,語法: void list(mixed...) 參數mixed為被賦值的變量名稱
each()函數返回數組中的鍵名和對應的值,並向前移動數組的指針,語法:array each (array array) 參數array為輸入的數組。
例:使用list函數獲取each函數中返回數組的值,並分別賦給$name和$value,然後使用while循環輸出
while(list($name,$value)=each($array)){echo $name=$value}
5.輸出數組元素
print_r()函數可以輸出數組的結構,也可以使用var_dump()函數輸出數組結構。
echo語句則單純輸出數組中的某個元素,且要有標識符和數組索引配合,格式echo $array[0],同樣print語句也可以輸出數組中的某個元素。
6.php數組函數
開發中比較常用的數組函數。
count()函數可以對數組中的元素個數進行統計
array_push()函數是向數組中添加元素。將傳入的元素添加到某個數組的末尾,並返回數組新單元總數。語法:array_push($array,"新元素1","新元素2")
array_pop函數可以獲取並返回數組中的最後一個元素,並將數組的長度減1,如果數組為空(或者不是數組)將返回null
刪除數組中的重復元素:
array_unique()函數可以將數組中重復的元素刪除
使用unset()可以刪除數組中某個元素。unset($arr_int[1]);
獲取數組中指定元素的鍵名:獲取數組中指定元素的鍵名主要是通過數組函數來實現的。
array_search()用來獲取數組中指定元素的鍵名,在數組中搜索給定的值,找到後返回鍵名,否則返回FALSE,區分大小寫字母
array_search(桔子,$arr[是否區分大小寫])
使用array_keys()函數獲取數組中重復元素的所有鍵名
字符串與數組的轉換是必不可少的,主要使用explode和implode函數實現。
explode
implode 將數組元素轉換成字符串類型
7.php全局數組
應用php全局數組,可以獲取大量與環境有關的信息,如當前用戶會話,用戶操作環境,本地操作環境等。
$_SERVER[]全局數組,獲取服務器和客戶配置及當前請求的有關信息
$_GET[]和$POST[]全局數組,分別用來接收GET和POST方法傳遞到當前頁面的數據。
$_COOKIE[] 全局數組存儲通過http cookie傳遞到腳本的信息
$_ENV[] 用於提供與服務器有關的信息
$_REQUEST[] 可以用它獲取GET,POST和http cookie傳遞到腳本的信息。
$_SESSION[] 用於獲取會話變量的相關信息
$_FILES[] 特殊的數組,以後詳細說明
復習:
1.數組概述
2.數組類型 2種類型
3.聲明數組 用戶創建和函數創建,一維數組,二維數組
4.遍歷,輸出數組 foreach和for和函數list()和each(), 遍歷多維數組。輸出有var_dump,print_r,echo $ss[1]
5.php數組函數 統計數組元素,向數組中添加元素,獲取數組中的最後一個元素,刪除數組中重復元素,獲取數組中指定元素的鍵名
6.php全局數組 常用的哪幾個
作者“技術為王”