遍歷數組
遍歷數值陣列
遍歷陣列中的所有元素是常用的一種操作,在遍歷的過程中可以完成查詢或其他功能。
<1>使用for結構遍歷陣列;
範例
<?php
//声明一个数组,值为1到10
$num = array(1,2,3,4,5,6,7,8,9,10);
//按照索引数组的特点,下标从0开始。所以1的下标为0,10的下标为9
echo $num[0].'<br />';
echo $num[9].'<br />';
//我们可以得到数组中元素的总个数,为10
echo count($num);
//遍历这个索引数组的话,我们就可以定义一个变量为$i
//$i 的值为0,从0开始
//可以设定一个循环条件为:$i 在下标的(9)最大值之内循环
for($i = 0 ; $i < count($num) ; $i++){
echo $num[$i].'<br />';
}
?>可以完成陣列的遍歷。
從0開始的,定義$i=0 。每次循環的時候讓$i 加1 ,但是必須要小於10,因為陣列下標的最大值為9。
這樣,我們就學會了對索引連續下標數組的遍歷。
<2>使用foreach結構遍歷數組;
for循環可以遍歷連續下標的索引數組。可是,我們發現我們遍歷不了關聯數組,也遍歷不了下標不連續的索引數組。
那我們其實在學循環的時候,有一個布林型循環是專門用來循環陣列的。這個循環的基本語法就是foreach基本語法。
語法格式如下:
foreach( 要循環的陣列變數as [鍵變數=>] 值變數){
//循環的結構體
}
遍歷關聯數組
<?php
$data = [
'fj' => '凤姐',
'fr' => '芙蓉',
];
foreach($data as $key => $value){
echo $key . '-------' . $value . '<br />';
}
//如果我们只想读取值的话,就可以把下面的$key => 给删除掉,读取的时候,就只读取值了。做完上面的实验,你可以打开下面的代码再实验几次。
/*
foreach($data as $value){
echo $value . '<br />';
}
*/
?>遍歷索引數組
我們可以透過foreach遍歷連續的索引數組,如下例:
<?php
$data = array(
0 => '中国',
100 => '美国',
20 => '韩国',
300 => '德国',
);
//待会儿可以自己做做实验,循环遍历一下下面的这个数组
//$data = array(1,2,3,4,5,6,7,8,9,10);
foreach($data as $k => $v){
echo $k . '------' . $v .'<br />';
}
?>遍歷多維數組
<?php
$data = array(
0 => array(
'中国' => 'china',
'美国' => 'usa',
'德国' => ' Germany',
),
1 => array(
'湖北' => 'hubei',
'河北' => 'hebei',
'山东' => 'shandong',
'山西' => 'sanxi',
),
);
//注:我们在使用foreach循环时,第一次循环将键为0和键为1的两个数组赋值给一个变量($value)。然后,再套一个循环遍历这个$value变量,$value中的值取出来,赋值给$k和$v。
foreach($data as $value){
//第一次循环把国家的数组赋值给了$value
//第二次循环把中国的省份的数组又赋值给了$value
//因此,我在循环的时候把$value再遍历一次
foreach($value as $k => $v){
echo $k . '-----' . $v .'<br />';
}
//为了看的更清晰,我在中间加上华丽丽的分割线方便你来分析
echo '----------分割线-----------<br />';
}
?>總結:
1. 第一次循環的時候,將陣列賦值給了$value,然後用foreach循環$value。將二維的子數組中的鍵給到$k,值賦值給變數$v。
2. 第一次循環退出子陣列的循環,並執行後續程式碼顯示分割線。
3. 依此類推,第二次循環也是這樣。
新建檔案
<?php
$data = array(
0 => '中国',
100 => '美国',
20 => '韩国',
300 => '德国',
);
//待会儿可以自己做做实验,循环遍历一下下面的这个数组
//$data = array(1,2,3,4,5,6,7,8,9,10);
foreach($data as $k => $v){
echo $k . '------' . $v .'<br />';
}
?>
預覽
Clear
- 課程推薦
- 課件下載
課件暫不提供下載,工作人員正在整理中,後期請多關注該課程~ 















