PHP陣列的詳細解讀

2021-06-28 09:46:24 字數 2029 閱讀 9706

陣列的定義

陣列的本質是管理和操作一組變數,陣列中可以儲存任意長度的資料,也可以儲存任意型別的資料。陣列中的單元稱為元素,每個元素包括下標(鍵)和值,訪問元素的時候,是通過下標來訪問,包括一維陣列,二維陣列及多維陣列(即陣列的巢狀),php中分為索引陣列和關聯素組。

(1) 索引陣列 :使用整數作為索引,如$arr=array('php課程','html課程','css課程');

(2) 關聯陣列 :使用字串作為索引,如$arr=array('id'=>1,'name'=>'php課程','class=>'php100');

php陣列的宣告和使用

1. 直接為陣列元素賦值宣告

如果索引下標不給出,就會從0開始順序索引;如果給出索引下標,下乙個就會從最大的下標開始增1;如果後面出現前面的下標,則會為前面的元素重新賦值;混合宣告時,索引陣列和關聯陣列不互相影響。

例如:

$array[0]="i";

$array[1]="love";

$array[2]="php";

print_r($array);

其中,print_r()是乙個特殊的函式,允許你檢視php陣列變數裡面的值,會按照一定鍵值和元素的順序顯示出該陣列中的所有元素。這對於程式的除錯很有幫助。

2.使用array()函式宣告

預設是索引陣列,如果為關聯陣列,需要為陣列指定下標,使用「鍵=>值」,多個成員之間使用" , "分割。

例如:print_r($fruits);

php陣列的遍歷

我們經常要對陣列進行遍歷,php中遍歷陣列的方法有多種,可以使用for()迴圈遍歷陣列,在這裡,經常會用到sizeof()函式,該函式 是常用的陣列函式之一,返回陣列的大小,即讀取陣列內元素的個數,作為迴圈計數器的上限值。還可以使用list()函式遍歷陣列,它只能用於數字索引的數 組,且數字索引從0開始。

php中還可以使用專門用於對陣列迴圈目的函式:foreach()。foreach()對傳遞給它的陣列中的每乙個元素執行一次,它不需要計數器或呼叫函式sizeof(),它可以自動跟蹤陣列在陣列中的位置,同時需要更少的維護。foreach()有兩種語法結構:

(1)foreach (array_expression as $value) 

(2)foreach (array_expression as $key => $value)

第一種結構會遍歷給定的array_expression 陣列,每次迴圈中,當前單元的值被賦給$value 並且陣列內部的指標向前移一步。第二種結構中,當前單元的鍵名也會在每次迴圈中被賦給$key。

foreach 迴圈執行到結束,原陣列的內部指標將指向陣列的結尾。例如:

foreach ($arr as $value) 

foreach ($arr as $key => $value)

php陣列的排序

對陣列元素進行排序,我們在做專案時使用也比較多,涉及的相關函式也有很多,比 如 sort(),rsort(),usort(),ksort(),uasort(),uksort() 等等,這裡先介紹幾個。使用sort()和 rsort()分別對陣列進行公升序和降序,例如:

$arr=array(23,4,65,11,64,8);

sort($arr);

print_r($arr);

執行結果:

array ( [0] => 4 [1] => 8 [2] => 11 [3] => 23 [4] => 64 [5] => 65 )
另外,我們可以注意到通過sort函式排序之後,陣列原有的索引鍵名會被重新分配。rsort()會對陣列進行逆向排序。

如果使用了關聯陣列,在排序後還要保持關鍵字和值的排序一致,這就需要使用ksort()和asort()函式,例如:

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

ksort($array);

print_r($array);

執行結果:

array ( [asp] => 3 [jsp] => 2 [php] => 1 )
希望以上內容可以幫助你更好地理解和使用php陣列。

詳細解讀php的命名空間(一)

php的命名空間功能已經出來很久了,但是一直以來沒怎麼深究過,這次趕著有時間所以特意翻著手冊做乙個整理和總結幫助自己完善完善,原本準備一篇寫完,但發現內容其實還是蠻多的,放一起太長看著累,所以分兩篇部落格要好些。一 命名空間概念 命名空間是一種封裝事物的方法,類似於目錄和檔案。命名空間解決的問題 手...

PHP中return用法詳細解讀

在大部分程式語言中,return關鍵字可以將函式的執行結果返回,php中return的用法也大同小異,對初學者來說,掌握php中return的用法也是學習php的乙個開始。首先,它的意思就是返回 return 是語言結構而不是函式,僅在引數包含表示式時才需要用括號將其括起來。當返回乙個變數時通常不用...

詳細解讀mysql 詳細解讀MySQL中的許可權

一 前言 很多文章中會說,資料庫的許可權按最小許可權為原則,這句話本身沒有錯,但是卻是一句空話。因為最小許可權,這個東西太抽象,很多時候你並弄不清楚具體他需要哪些許可權。現在很多mysql用著root賬戶在操作,並不是大家不知道用root許可權太大不安全,而是很多人並不知道該給予什麼樣的許可權既安全...