PHP數組的分析
數組的本質是管理和操作一組變量,數組中可以存儲任意長度的數據,也可以存儲任意類型的數據。數組中的單元稱為元素,每個元素包括下標(鍵)和值,訪問元素的時候,是通過下標來訪問,包括一維數組,二維數組及多維數組(即數組的嵌套),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()函數聲明默認是索引數組,如果為關聯數組,需要為數組指定下標,使用“鍵=>值”,多個成員之間使用' , '分割。例如:$fruits = array(’red’ => ’apple’, ’yellow’ => ’banana’, ’purple’ => ’plum’, ’green’ => ’grape’);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) { echo 'Value: $value ';}foreach ($arr as $key => $value) { echo 'Key: $key; Value: $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 )
相關文章: