配列をトラバースする
数値配列の走査
配列内のすべての要素の走査は一般的な操作であり、走査プロセス中にクエリやその他の関数を完了できます。
<1>for 構造体を使用して配列を走査します。
Example
<?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 ずつ増加しますが、配列添字の最大値は 9 であるため、$i は 10 未満でなければなりません。
このようにして、インデックス付きの連続した添字配列を走査する方法を学びました。
<2> foreach 構造体を使用して配列を走査します。
for ループは連続する添え字のインデックス配列を走査できます。ただし、連想配列を走査することはできず、不連続な添え字を持つインデックス配列も走査できないことがわかりました。
実際にループを学習していたとき、配列をループするために特に使用されるブール ループがありました。このループの基本構文は、foreach の基本構文です。
構文形式は次のとおりです:
foreach([キー変数=>]値変数としてループされる配列変数){
//ループの構造
}
連想配列を走査します
<?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 をループします。 2 次元部分配列のキーを $k に与え、その値を変数 $v に代入します。
2. 最初のループは部分配列ループを終了し、後続のコードが実行されて分割線が表示されます。
3. 2周目も同様です。
- おすすめコース
- コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜 















