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 ?>