foreach
我們在使用foreach遍歷數組時,往往忘了無從下手,介紹一下常用的foreach操作。當然,我們要知道foreach的原理:











舉一反三
如果我們又想得到將一個二維數組轉化成一個表格,又該怎么辦呢?
<?php
header("Content-type:text/html;Charset=utf-8");
$arr=array
(
'stu0'=>array
(
'name'=>'zhangsan',
'age'=>30,
'sex'=>'woman'
),
'stu1'=>array
(
'name'=>'lisi',
'age'=>20,
'sex'=>'man',
),
'stu2'=>array
(
'name'=>'lisi',
'age'=>20,
'sex'=>'man',
)
);
/*var_dump($arr);*/
$str="<table width=500 border=1 align=center rules=all>";
$str.="<tr align=center><th>序號</th><th>姓名</th><th>年齡</th><th>性別</th></tr>";
$i=1;
foreach ($arr as $value1) {
$str.="<tr align=center><td>$i</td>";
foreach ($value1 as $value2) {
$str.="<td>$value2</td>";
}
$str.="</tr>";
$i++;
}
$str.="</table>";
echo $str;
?>
驗證碼
對此我們應該還在里面加入一個判斷
當然,我們在用foreach時候也會用到其他的一些如for循環,while+each+list
For
<?php
// 設置響應頭格式
header("Content-type:text/html;Charset=utf-8");
// 顯式的創建一個數組
$arr = array(
'name' => '鳴人',
'home' => '木葉',
'skill' => '螺旋丸',
'teacher'=> '卡卡西',
'wife' => '雛田',
);
echo '<pre>';
next($arr);
// 用for循環實現數組的遍歷
for($i=1,$num=count($arr),reset($arr);$i<=$num;$i++) {//$i代表循環的次數
// 獲取當前元素的鍵
$key = key($arr);
// 獲取當前元素的值
$value = current($arr);
// 對當前元素進行相關的操作
var_dump($key,$value);
// 數組指針位置下移
next($arr);
}
for循環遍歷,只適合索引數組,因為,我們都是先得到數組的下標,然后再利用下標去訪問數組的元素,但是,從邏輯上來說,下標是數組的一部分,一定是先有元素,才得到元素的下標!
所以,上面的for循環遍歷數組,不是真正意義上的數組的遍歷
