首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
字符串的单引号和双引号
字符串的连接符
手动和自动转义字符串中的字符
计算字符串的长度
字符串单词统计
清理字符串中的空格
字符串的切分与组合
字符串子串的截取
字符串子串替换
字符串查找
字符串大小写转换
字符串处理机制的修改
正则表达式概述
正则表达式的语法规则
使用正则表达式替换字符串子串
使用正则表达式切分字符串
实战演练——酒店系统在线订房表
PHP数组概述
构造一维数组
构造多维数组
遍历数组
数组排序
字符串与数组的转换
向数组中添加和删除元素
查询数组中的指定元素
统计数组元素个数
删除数组中的重复元素
调换数组中的键值和元素值
PHP 8的新变化1—自动创建元素的顺序的改变
PHP 8的新变化2—list()函数修改数组的改变
PHP 8的新变化3—foreach()函数修改数组的改变
实战演练—序列化和反序列化
当前位置:
首页>>
技术小册>>
PHP8入门与项目实战(3)
小册名称:PHP8入门与项目实战(3)
在PHP 8中,list()函数的功能发生了变化。具体改变说明如下。 1.不再按照相反的顺序赋值 在PHP 8中,list()函数不再按照相反的顺序赋值,而在PHP 5中,list()函数按照相反的顺序赋值。 【例6.19】 ```php <?php list($array[], $array[], $array[], $array[]) = [100, 200, 300,400]; var_dump($array); ?> ``` 在PHP 8版本中,运行结果如图6-22所示。在PHP 5版本中,运行结果如图6-23所示。 ![](/uploads/images/20231208/e365b96600056aff73321bb7b0b55832.png) ![](/uploads/images/20231208/4795ab9203f4eeb63c0e0a67da490732.png) 从结果可以看出,虽然赋值没有变化,但是赋值的顺序发生了变化。在PHP 8中,返回的数组$array == [100, 200, 300,400]。在PHP 5中,返回的数组$array ==[400, 300,200,100]。 2.不再允许赋空值 在PHP 8中,list()不允许赋空值。 例如下面的代码都会报错: ```php list() = $a; list(,,) = $a; list($x, list(), $y) = $a; ``` 而在PHP 5中,list()是允许赋空值的。 3.不再支持字符串拆分功能 在PHP 8中,list()函数不再支持字符串拆分功能。 【例6.20】 ```php <?php $string = "xy"; list($x, $y) = $string; each "$x"; each "$y"; ?> ``` 在PHP 8中,运行报错信息如图6-24所示。 ![](/uploads/images/20231208/23878667c1cbe7655aa69ef7c5e99c6c.png) 在PHP 5中,上述代码最终的结果是:$x == "x" and $y == "y"。运行结果如图6-25所示。 ![](/uploads/images/20231208/74643dc3f6d555afd99e69d513cf964f.png) 4.可以用于数组对象 在PHP 8中,list()也适用于数组对象。 【例6.21】 ```php <?php list($a, $b, $c) = (object) new ArrayObject([100, 200, 300]); echo "$a<br/>"; echo "$b<br/>"; echo "$c"; ?> ``` 在PHP 8中,上述代码最终的结果是:$a == 100 and $b == 200 and $c ==300。运行结果如图6-26所示。 在PHP 5中,上述代码最终的结果是:$a == null and $b == null and $c ==null(不会有提示)。运行结果如图6-27所示。 ![](/uploads/images/20231208/4f9112c5544f2adccfa2eddb0199b453.png) ![](/uploads/images/20231208/590e8f616780647ffc2d03f59f74ebb6.png)
上一篇:
PHP 8的新变化1—自动创建元素的顺序的改变
下一篇:
PHP 8的新变化3—foreach()函数修改数组的改变
该分类下的相关小册推荐:
PHP合辑3-数组函数
全栈工程师修炼指南
PHP8入门与项目实战(1)
Laravel(10.x)从入门到精通(三)
Yii2框架从入门到精通(下)
Shopify应用实战开发
PHP高性能框架-Swoole
Swoole高性能框架-Hyperf
PHP面试指南
Laravel(10.x)从入门到精通(十七)
Swoole高性能框架-SwooleWorker
Laravel(10.x)从入门到精通(十四)