为了账号安全,请及时绑定邮箱和手机立即绑定

看不懂这个数组,还有=>这个符号是什么意思,按照之前的课程我可不可以理解成前面的‘2010’相当于$key,后面的array('令狐冲','59')相当于$value?

$students = array(
'2010'=>array('令狐冲',"59"),
'2011'=>array('林平之',"44"),
'2012'=>array('曲洋',"89"),
'2013'=>array('任盈盈',"92"),
'2014'=>array('向问天',"93"),
'2015'=>array('任我行',"87"),
'2016'=>array('冲虚',"58"),
'2017'=>array('方正',"74"),
'2018'=>array('岳不群',"91"),
'2019'=>array('宁中则',"90"),
);


正在回答

6 回答

提示:foreach 语法结构提供了遍历数组的简单方式。

$key与$v是形参,你可以理解成是未传值的变量,as是该语法结构形式规范符。就好像算术运算中用+号表示前后者之和。在foreach语法结构中as有解析前面数组单元传递值或键值给后面相应的一个或两个形参的意味,本质上是foreach语法结构的一部分,简单点相当于你学英文的语法。

foreach仅能够应用于数组和对象。有两种语法:  

foreach (array_expression as $value){                     

   statement; }

foreach (array_expression as $key => $value){      //数组元素的键->$key, 值->$value

   statement; }

第一种格式遍历给定的array_expression 数组。每次循环中,当前单元的值被赋给$value并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

第二种格式做同样的事,当前单元的键名会在每次循环中被赋给变量$key,当前单元的值会在每次循环中赋给变量$value

原理:当foreach开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在foreach循环之前定义变量


0 回复 有任何疑惑可以回复我~

键名和键值

0 回复 有任何疑惑可以回复我~

后面的array('令狐冲',"59")相当于$value就能理解后面的foreach($value as $v)了,意思是$value = array('令狐冲'."59"),然后又开始不理解的是什么时候用单引号什么时候用双引号了

0 回复 有任何疑惑可以回复我~
#1

米拉菌

单双引号没有特定的区分,这里都用单或双是可以的,具体可以去参考3-9节到3-12节
2016-01-26 回复 有任何疑惑可以回复我~

你的理解是对的,这样你就能理解了吧,一个数字对应一个学生信息

2 回复 有任何疑惑可以回复我~
#1

三只松鼠 提问者

喜欢你的头像,谢谢啦
2015-12-15 回复 有任何疑惑可以回复我~

=>是指向的意思 你可以理解成2010是地址位置 ‘=》’类似指针 后面是存储内容

3 回复 有任何疑惑可以回复我~
#1

三只松鼠 提问者

慢慢来吧,没任何基础,只是听过指针,可能后面就突然脑洞打开了,谢谢了
2015-12-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

看不懂这个数组,还有=>这个符号是什么意思,按照之前的课程我可不可以理解成前面的‘2010’相当于$key,后面的array('令狐冲','59')相当于$value?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信