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

概述

目录

一: 数组的计算

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

三: php ​foreach遍历关联数组


一: 数组的计算

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

int count ( mixed $变量)

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

2.eg:

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

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

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

三: php ​foreach遍历关联数组

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

2.语法结构:

foreach( 要循环的数组变量 as [键变量 =>] 值变量){
//循环的结构体
}

 解析: 

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

,3.eg:遍历关联数组

<?php
$data = [
'fj' => '凤姐',
'fr' => '芙蓉',
];
foreach($data
as $key => $value){
echo $key . '-------' . $value . '<br />';
}
//如果我们只想读取值的话,就可以把下面的$key => 给删除掉,读取的时候,就只读取值了
foreach($data
as
$value){
echo
$value . '<br />';
}
?>

效果:

fj-------凤姐
fr-------芙蓉
凤姐
芙蓉

解析:

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

 

 

4.eg:遍历索引数组

<?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 />';
}
?>

效果:

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: 遍历多维数组

<?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目录一: 数组的计算二: php for循环遍历索引数组三: php ​foreach遍历关联数组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部