我是靠谱客的博主 自然枕头,这篇文章主要介绍数组的循环遍历之for和foreach目录一: 数组的计算二: php for循环遍历索引数组三: php ​foreach遍历关联数组,现在分享给大家,希望可以做个参考。

目录

一: 数组的计算

二: php for循环遍历索引数组

三: php ​foreach遍历关联数组


一: 数组的计算

1.count()函数计算元素个数

复制代码
1
int count ( mixed $变量)

  注意:  参数$变量 要求是一个数组或者一个可以被统计的对象

2.eg:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php $data = [ 'netease' =>'网易', 'sohu' => '搜狐', 'sina' => '新浪', ]; $erwei = [ '开心', [ 'baidu' =>'百度', 'ali' => '阿里', 'tencent' => '腾讯', ], $data ]; echo count($data); //3 一维数组有3个元素 echo "<br />"; echo count($erwei);//2 二维数组中有3个元素 ?>

二: php for循环遍历索引数组

1.遍历二字,从字面解释就是一个接一个全读访问一次,显示出来;

2.因为for循环是一个单纯的计数型循环,而索引数组的下标为整型的数值;因此,我们可以通过for循环来遍历索引数组。

3.eg:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php //声明一个数组,值为1到10 $num = array(1,2,3,4,5,6,7,8,9,10); //按照索引数组的特点,下标从0开始。所以1的下标为0,10的下标为9 // echo $num[0].'<br />'; //1 // echo $num[9].'<br />'; //10 //我们可以得到数组中元素的总个数,为10 // echo count($num).'<br />'; //10 // echo "<br />"; //遍历这个索引数组的话,我们就可以定义一个变量为$i //$i 的值为0,从0开始 //可以设定一个循环条件为:$i 在下标的(9)最大值之内循环 for($i = 0 ; $i < count($num) ; $i++){ echo $num[$i].'<br />'; } ?>

效果:

复制代码
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10

  注意: 因为下标是从0开始的,定义$i=0 。每次循环的时候让$i 加1 ,但是必须要小于10,因为数组下标的最大值为9。

三: php ​foreach遍历关联数组

1.php ​foreach布尔型循环是专门用来循环数组的;

2.语法结构:

复制代码
1
2
3
foreach( 要循环的数组变量 as [键变量 =>] 值变量){ //循环的结构体 }

 解析: 

  •  这是一个固定用法,将要循环的数组放进去;
  • as 是一个固定的关键字,
  • 后面的键变量是可选的,随意定义一个变量,每次循环的时候,foreach这个语法会把键取出来赋值到键变量里面;
  • 后面的值变量是必填的;每次循环的时候,会把值放到值变量里面

,3.eg:遍历关联数组

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php $data = [ 'fj' => '凤姐', 'fr' => '芙蓉', ]; foreach($data as $key => $value){ echo $key . '-------' . $value . '<br />'; } //如果我们只想读取值的话,就可以把下面的$key => 给删除掉,读取的时候,就只读取值了 foreach($data as $value){ echo $value . '<br />'; } ?>

效果:

复制代码
1
2
3
4
fj-------凤姐 fr-------芙蓉 凤姐 芙蓉

解析:

  • 每次循环的时候,把下标赋值给了变量$key,把值的变量赋值给了变量$value;
  • 循环一次读一次键和值,如上例中,读完“凤姐”再读取“芙蓉”,读到最后,发现没有可以读取的数组元素后,停止循环遍历数据;
  • 注意:$key 和$value并不是变量名必须得为这两个名字。你命名为其他的也可以,如 $kai => $wen是一样的。 你要清楚键赋值给了哪个变量,值赋值给了另外的哪个变量

 

 

4.eg:遍历索引数组

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
<?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 />'; } ?>

效果:

复制代码
1
2
3
4
5
6
7
8
9
10
0------1 1------2 2------3 3------4 4------5 5------6 6------7 7------8 8------9 9------10

解析:按照foreach的结果推理与刚刚做的关联数组的结果是一样的。不同的是不连续的索引数组。每读一次数组的元素,将当次循环的下标赋值给了变量$k,值赋值给了变量$v。每读将键和值输出,然后显示出来。循环一次向后移动一次下标。读取至最后,退出执行。

5.eg: 遍历多维数组

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?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 />'; } ?>

注意:

  • 第一次循环的时候,将数组赋值给了$value,然后用foreach循环$value。将二维的子数组中的键给到$k,值赋值给变量$v。
  • 第一次循环退出子数组的循环,执行后续代码显示分割线。
  • 依此类推,第二次循环也是这样。

最后

以上就是自然枕头最近收集整理的关于数组的循环遍历之for和foreach目录一: 数组的计算二: php for循环遍历索引数组三: php ​foreach遍历关联数组的全部内容,更多相关数组的循环遍历之for和foreach目录一:内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(106)

评论列表共有 0 条评论

立即
投稿
返回
顶部