- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
2#
發表於 2010-5-13 19:06
| 只看該作者
二維陣列的存取
要存取二維陣列元素的資料很簡單,就如同處理一維陣列,不過,我們必須同時指定元素的列註標與行註標,例如:- $Myarray [0][1] = 999; //將資料存放置陣列位置[0][1]中
- $Myarray[1][2] = 888; //將資料存放置陣列位置[1][2]中
- //取出陣列位置[0][1]與[1][2]的資料相減,並存至陣列位置[3][3]中
- $Myarray[3][3]= $Myarray[0][1]- $Myarray[1][2];
複製代碼 如果要以迴圈敘述來存取二維陣列的資料,則必須使用巢狀的迴圈,我們以for巢狀迴圈輸出二維陣列內的資料來說明:
- <HTML>
- <HEAD>
- <TITLE>ex04_13</TITLE>
- </HEAD>
- <BODY>
- <?
- $Student=array(
- "0"=>array(0=>"姓名",1=>"國文",2=>"英文",3=>"數學"),
- "1"=>array(0=>"小誌",1=>100,2=>90,3=>80),
- "2"=>array(0=>"得華",1=>60,2=>100,3=>70),
- "3"=>array(0=>"亭封",1=>90,2=>80,3=>90),
- "4"=>array(0=>"學有",1=>65,2=>90,3=>80));
- ?>
- <table border=1>
- <?
- $i=count($Student);
- for($x=0;$x<$i;$x++)
- {
- echo "<tr>";
- $j=count($Student[$x]);
- for ($y=0;$y<$j;$y++)
- {
- echo ("<td>" . $Student[$x][$y] . "</td>");
- }
- echo "</tr>";
- }
- ?>
- </table>
- </BODY></HTML>
複製代碼 對於連續註標的二維陣列使用巢狀for迴圈可以輕易的解決,但是若對於非連續註標或字串註標的陣列就行不通了,此時要改用巢狀的foreach迴圈才能解決,例如:- <HTML>
- <HEAD>
- <TITLE>ex04_14</TITLE>
- </HEAD>
- <BODY>
- <table border=1>
- <?
- $Student=array(
- "小誌"=>array("a"=>100,2=>90,"b"=>80),
- "得華"=>array(1=>60,"c"=>100,3=>70),
- "亭封"=>array("d"=>90,2=>80,"e"=>90));
- foreach ($Student as $key=>$value)
- {
- echo "<tr>";
- foreach ($value as $key1=>$value1)
- {
- echo "<td>元素註標: $key,$key1 ; 元素值: $value1 </td>";
- }
- echo "</tr>";
- }
- ?>
- </table>
- </BODY></HTML>
複製代碼
|
|