最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
一道简单的PHP笔试题(进阶必备)
时间:2022-06-24 17:17:27 编辑:袖梨 来源:一聚教程网
次,一个前辈发了一道PHP笔试给我,题目大致如下
| 代码如下 | 复制代码 |
| $arr = array('1','2','3'); foreach($arr as $key=>&$val){} foreach($arr as $key=>$val){} var_dump($arr); |
|
问答案是什么?
看完我就懵了?根本不知道问题的考点在那里,看完两个foreach的区别在一个是取了地址,一个没有取地址,,这样会影响结果吗?
结果输出的结果居然是
| 代码如下 | 复制代码 |
|
array( |
|
表示打印出来的数据为什么会这样?“3”去哪儿了?
造成这样的原因在于:&取地址符合。
用这种方式来说明foreach对数组的读取,比较直观。
然后循环就是指针的移动读取,而且由于是&取值,则直接读的是地址而是不简单的赋值。所以当第一个循环结束后。$val跟$arr[2]指的是同一个地址,所以$val值如果改变了,$arr['2']值也跟着改变了。
如果,你运行一下如下代码
| 代码如下 | 复制代码 |
| $arr = array('1','2','3'); foreach($arr as $key=>&$val){} foreach($arr as $key=>$val){ var_dump($arr); } var_dump($arr); |
|
你就能看到变化的过程。和得到之前结果的原因
相关文章
- 三国志8重制版虚构特典剧本介绍说明 10-30
- 暗喻幻想暗黑法师解锁方法攻略分享 10-30
- 暗喻幻想元素大师解锁方法攻略分享 10-30
- 暗喻幻想地下纳骨堂锁住的门打开方法 10-30
- 暗喻幻想6月22日玛丽亚位置一览 10-30
- 暗喻幻想巫师阿基态解锁方法分享 10-30