1 <?php 2 /* 1使用 for語句迴圈遍歷陣列 3 a 其他語句(只有這一種方式) 4 * b. php 這種方式不是我們首選方式 5 c陣列必須是索引陣列,而且下標還必須是連續的才能遍歷 6 (索引陣列下標還可以不連續, 陣列還有關聯陣列) 7 *2 使用foreach 語句迴圈遍歷語句 8 foreach(陣列變數 as變數值) 9 10 { 11 //迴圈體 12 } 13 a 迴圈次數由陣列的元素個數決定 14 b //每次迴圈 都會將陣列中的元素分別賦值給後面的變數 15 foreach(陣列變數as 下標變數=>值變數) 16 17 *3 while() list() echo 組合迴圈遍歷陣列 18 echo()函式 ,a需要一個陣列作為引數; 19 b返回來的也是陣列 20 c 返回來的陣列是0,1,key value 四個下標(固定的) 21 0 和 key下標是當前引數陣列元素的鍵 22 1和value下標是當前引數陣列元素的值 23 d預設當前元素是一個元素 24 e每執行一次後就會將當前元素向後移動 25 f如果到最後的元素在執行這個函式,則返回false 26 list()函式 27 28 29 a. list()=array();需要將一個陣列賦值給這個函式 30 b.這個陣列中的元素個數要和list函式中的引數個數相同 31 c.陣列中的每個元素值會賦值給list函式中的每個引數,list將買個引數轉為變數 32 d .list只能接受索引陣列 33 e 按照索引下標的順序 34 */ 35 36 list($name,$age,$sex)=array("張三","10","nan"); 37 list(,,$sex)=array("張三","10","nan"); 38 list($name,,$sex)=array("張三","10","nan"); 39 echo $name."<br>"; 40 echo $age."<br/>"; 41 echo $sex."<br/>"; 42 43 $ip="192.168.1.128"; 44 $ips=explode(".","$ip"); 45 print_r($ips); 46 47 list(,,,$num2)=explode(".","$ip"); 48 49 50 echo $num2."<br/>"; 51 52 $user=array(1,"張三","40","李四"=>"nan","abcd@sina.com" ); 53 54 for($i=0;$i<count($user);$i++) 55 { 56 //echo "\$user[{$i}]=".$user[$i]."<br/>"; 57 } 58 59 foreach( $user as $key =>$val) 60 { 61 echo $key."=========>".$val."<br/>"; 62 //echo $val."<br/>"; 63 } 64 65 66 67 //三維陣列的遍歷 68 $info=array( 69 "user"=>array( 70 //$user[0] 71 array(1, "zansan", 10, "nan"), 72 //$user[1][1] 73 array(2, "lisi", 20, "nv"), //$user[1] 74 //$user[2] 75 array(3, "wangwu", 30, "nan") 76 ), 77 "score"=>array( 78 array(1, 100, 90, 80), 79 array(2, 99, 88, 11), 80 array(3, 10, 50, 88) 81 ), 82 "connect"=>array( 83 array(1, '110', 'aaa@bbb.com'), 84 array(2, '120', 'bbb@ccc.com'), 85 array(3, '119', 'ccc@ddd.com') 86 ) 87 ); 88 89 90 foreach ($info as $tableName=>$table) 91 { 92 93 echo'<table align="center" width="500" border="1">'; 94 echo'<caption><h1>'.$tableName.'</h1></caption>'; 95 foreach($table as $row ) 96 { 97 98 echo'<tr>'; 99 foreach($row as $col ) 100 echo '<td>'.$col.'</td>'; 101 102 103 echo'</tr>'; 104 } 105 106 echo'</table>'; 107 } 108 //使用陣列的內部指標控制函式 109 //next(陣列); 110 //prev(陣列); 111 //reset(陣列); 112 //end(陣列); 113 //current(陣列); 114 $usedemo=array("id"=>1,"name"=>"zhangsan","age"=>10, "sex"=>"man"); 115 // each($usedemo);//array([1]=>1 [value]=1 [0]=>id [key]=>id); 116 117 while (list($key,$value)=each($usedemo))//array([1]=>1 [0]=1); 118 { 119 echo $key."=======".$value."<br/>"; 120 } 121 reset($usedemo); 122 123 while (list($key,$value)=each($usedemo))//array([1]=>1 [0]=1); 124 { 125 echo $key."=======".$value."<br/>"; 126 } 127 reset($usedemo); 128 next($usedemo); 129 next($usedemo); 130 while (list($key,$value)=each($usedemo))//array([1]=>1 [0]=1); 131 { 132 echo $key."=======".$value."<br/>"; 133 } 134 echo"<br><br><br><br><br>"; 135 reset($usedemo); 136 137 print_r(current($usedemo)); 138 139 while($arr=each($usedemo)) 140 { 141 echo $arr[0]."=>".$arr[1]."<br/>"; 142 143 echo $arr["key"]."----->".$arr["value"]."<br/>"; 144 } 145 146 $a=each($usedemo); 147 148 print_r($a);//Array ( [1] => 1 [value] => 1 [0] => id [key] => id ) 149 150 $b=each($usedemo); 151 print_r($b); 152 153 $c=each($usedemo); 154 print_r($c); 155 156 $d=each($usedemo); 157 print_r($d); 158 159 $e=each($usedemo); 160 var_dump($e); 161 ?>