數組是標量資料的有序列表。
數組可以含任意多個元素。最小的陣列可以不含元素,而最大的陣列可以佔滿全部可用記憶體。
數組實量(arrayliteral)是位於括號內用逗號分開的一系列值。如:
(1,2,3,4,5)#具有1,2,3,4,5五個數值的陣列
("zmd",1974,173.5)#具有"zmd",1974,173.5三個數值的陣列
()#空數組
($a,5)#兩個數值:$a的值和5
($a $b,6)#兩個數值
數組變數具有單獨的陣列值,要以@打頭而不是$。如:
@zmd
注意@zmd與$zmd沒有任何關聯。 Perl為物件的不同類型保留獨立的命名空間。
數組的賦值和標量賦值一樣,也用等號表示。 Perl根據賦值物件是標量還是陣列變數來決定賦值運算是標量賦值還是陣列賦值。
若數組實量中只含有變數引用(不是表達式),則此數組實量也可作為變數使用。它可以用在賦值運算子的左邊。例如:
($a,$b,$c)=(1,2,3)#將1賦給$a,2賦給$2,3賦給$3
如果把數值變數賦給標量變量,則賦給標量變數的就是陣列長度,如:
@zmd=(1,2,3)#將(1,2,3)賦給@zmd
$a=@zmd#$a為3,即@zmd的陣列個數
數組元素的存取和C語言中類似,下標是按順序整數排列的,編號從0開始。
($a,$b,$c)=(1,2,3)#將1賦給$a,2賦給$2,3賦給$3
如果把數值變數賦給標量變量,則賦給標量變數的就是陣列長度,如:
@zmd=(1,2,3)#將(1,2,3)賦給@zmd
$a=@zmd#$a為3,也就是@zmd的陣列個數
綜合舉例
@user1=("zmd","cxm");#將zmd和cxm兩個字串賦給@user1
@user2=@user1;#這時@user2=@user1= ("zmd","cxm")
@user3=("zk",@user1);#這時@user3=("zk","zmd","cxm")
($one,@user4)= @user3;#這時$one="zk"
@user1=();#把@user1清空
@int1=(1,2,3,4,5);$x=@int1;#將數組@ int1的個數賦給$x純變量,$x=5
$x=$#int1;#$#這個變數傳回數組最後個數的值(index)$x=4
($x)=@int1 ;#$x等於陣列的第一個數值$x=1
$b=$int1[0];#$b等於陣列的第一個元素值$b=1
$c=@int1[0] ;#$c同上$c=1,因些呼叫數組中值有兩種方法
$int1[0]=3;#將3這個數值賦給數組@int的第一個元素@int1=(3, 2,3,4,5)
$int1[0,1]=[7,8];#將7賦給陣列的第一個元素將8賦給陣列第二個元素@int1=(7,8 ,3,4,5)
@int1[0,1]=@int1[1,0];#將陣列前兩個元素交換@int1(8,7,3,4,5)
($int1[ 0],$int1[1])=($int1[1],$int1[0]);#同上@int1=(8,7,3,4,5)
@int2=@int1[0,1 ];#int2=(8,7)
$int1[5]=6;#將6賦給數組中第六個元素@int1=(1,2,3,4,5,6)
以上就是Perl變數(2)--陣列內容,更多相關文章請關注PHP中文網(www.php.cn)!