list() - 把数组中的值赋给一组变量 - php 数组函数
list()
(PHP 4, PHP 5, PHP 7)
把数组中的值赋给一组变量
说明
list(mixed $var1[,mixed $...]): array像array()一样,这不是真正的函数,而是语言结构。list()可以在单次操作内就为一组变量赋值。
Note:在 PHP 7.1.0 之前的版本,list()仅能用于数字索引的数组,并假定数字索引从 0 开始。Warning
PHP 5 里,list()从最右边的参数开始赋值; PHP 7 里,list()从最左边的参数开始赋值。
如果你用单纯的变量,不用担心这一点。但是如果你用了具有索引的数组,通常你期望得到的结果和在list()中写的一样是从左到右的,但在 PHP 5 里实际上不是,它是以相反顺序赋值的。
通常而言,不建议依赖于操作的顺序,在未来可能会再次发生修改。
Warning在list()执行过程中修改数组(比如使用list($a,$b)=$b)将会产生不可预知的结果。
参数
$var1一个变量。
返回值
返回指定的数组。
更新日志
版本 | 说明 |
---|---|
7.1.0 | 现在可以指定list()中的键。这就可以解构非数字键或者无顺序的数组。 |
7.0.0 | 赋值操作的顺序发生了变化。 |
7.0.0 | list()表达式不再可以完全为空。 |
7.0.0 | 字符串无法再被拆包(unpack)。 |
范例
Example #1list()例子
Example #2list()用法的一个例子
Employee name | Salary |
---|
使用嵌套的list()
int(1) int(2) int(3)
在list()中使用数组索引
产生如下输出(注意单元顺序和list()语法中所写的顺序的比较):
Output of the above example in PHP 7:
array(3) { [0]=> string(6) "coffee" [1]=> string(5) "brown" [2]=> string(8) "caffeine" }
Output of the above example in PHP 5:
array(3) { [2]=> string(8) "caffeine" [1]=> string(5) "brown" [0]=> string(6) "coffee" }
Example #5list()和索引顺序定义
list()使用 array 索引的顺序和它何时定义无关。
In PHP 7.1 we can do the following: Before, we had to do:
However, you will have to array_merge with an array long enough to ensure there are enough elements (if $parameter is empty, the code above would still error). An alternate approach would be to use array_pad on the array to ensure its length (if all the defaults you need to add are the same).
The example states the following:
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)