[PHP]多維陣列

多維陣列是進階的陣列,但是也是最常使用的陣列


同樣可以用上次說的方式宣告,因為很好理解就簡單帶過

使用預設索引值


$grade = array( "math" => array(84,65,42,86,95,32,41), "chi" => array(66,65,85,75,95,80,63), "eng" => array(82,63,45,75,20,68,55) );

 

自訂字串為索引值


$money["one"]["Alex"]=50; $money["one"]["Bill"]=35; $money["one"]["Cindy"]=80; $money["one"]["Oscar"]=40; $money["two"]["Alex"]=56; $money["two"]["Bill"]=25; $money["two"]["Cindy"]=65; $money["two"]["Oscar"]=42; $money["tree"]["Alex"]=68; $money["tree"]["Bill"]=25; $money["tree"]["Cindy"]=65; $money["tree"]["Oscar"]=42;

當然使用第一個方法也可以在二維陣列內部給他索引值,彼此是不衝突的方法
但是使用第二種方法就必須自訂索引值,不論是字串或是數字
呼叫時需要遵守迴圈階層才能正確地呼叫,例如
echo $money["two"]["Bill"];就是呼叫$money陣列中,two裡面的Bill索引值代表的內容。

count()


多維陣列同樣可以使用count()或是sizeof()來取得陣列內元素數量
但是要注意的是
$array[0][0]=1; $array[1][0]=1; $array[1][1]=2; $array[2][0]=1; $array[2][1]=2;

以上是一個不對襯的陣列,第二層內元素數量不同,用sizeof()檢視會發現

sizeof($array)=3; sizeof($array[0])=1; sizeof($array[1])=2; sizeof($array[2])=2;

只列出指定陣列中所包含的元素,並不會因為內容又是陣列而增加數量

留言