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:
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!