首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
字符串的单引号和双引号
字符串的连接符
手动和自动转义字符串中的字符
计算字符串的长度
字符串单词统计
清理字符串中的空格
字符串的切分与组合
字符串子串的截取
字符串子串替换
字符串查找
字符串大小写转换
字符串处理机制的修改
正则表达式概述
正则表达式的语法规则
使用正则表达式替换字符串子串
使用正则表达式切分字符串
实战演练——酒店系统在线订房表
PHP数组概述
构造一维数组
构造多维数组
遍历数组
数组排序
字符串与数组的转换
向数组中添加和删除元素
查询数组中的指定元素
统计数组元素个数
删除数组中的重复元素
调换数组中的键值和元素值
PHP 8的新变化1—自动创建元素的顺序的改变
PHP 8的新变化2—list()函数修改数组的改变
PHP 8的新变化3—foreach()函数修改数组的改变
实战演练—序列化和反序列化
当前位置:
首页>>
技术小册>>
PHP8入门与项目实战(3)
小册名称:PHP8入门与项目实战(3)
在PHP 8中,foreach()函数的功能也发生了变化。 1.对内部指针失效 在PHP 8中,foreach()循环对数组内部指针不再起作用。 【例6.22】 ```php <?php $array = [0, 1, 2]; foreach ($array as &$val) { var_dump(current($array)); } ?> ``` 在PHP 8中运行,结果会打印三次int(0),也就是说数组的内部指针并没有改变。运行结果如图6-28所示。 ![](/uploads/images/20231208/2cf5adaeaef34823ba83ff691b49a16a.png) 在PHP 5中运行,结果会显示int 1、int 2和boolean false。运行结果如图6-29所示。 ![](/uploads/images/20231208/c5e7a94afe017525f01af75ff16e2d02.png) 2.按照值进行循环时,修改数组不再影响循环行为 在PHP 8中,foreach()按照值进行循环的时候,foreach是对该数组的一个复制进行操作。这样在循环过程中对数组做的修改是不会影响循环行为的。 【例6.23】 ```php <?php $array = [100,200,300]; $ref =& $array; foreach ($array as $val) { unset($array[1]); echo "数组值: " . $val . "<br/>"; } ?> ``` 在PHP 8中,上面的代码虽然在循环中把数组的第2个元素销毁掉了,还是会把数组的3个元素全部打印出来。结果如图6-30所示。 在PHP 5中,上面的代码只会把2个元素打印出来(100、300)。结果如图6-31所示。 ![](/uploads/images/20231208/ed5d14002e0293b7455c9de5f8d4f6d6.png)
上一篇:
PHP 8的新变化2—list()函数修改数组的改变
下一篇:
实战演练—序列化和反序列化
该分类下的相关小册推荐:
Magento零基础到架构师(内容设计)
PHP8入门与项目实战(2)
Shopify应用实战开发
Workerman高性能Web框架-Webman
Magento2主题开发高级实战
Magento零基础到架构师(安装篇)
Laravel(10.x)从入门到精通(十五)
Laravel(10.x)从入门到精通(六)
Swoole入门教程
PHP8实战小册
Laravel(10.x)从入门到精通(十九)
Laravel(10.x)从入门到精通(十一)