喜迎
春节

PHP中数组内容依次赋值给变量


在日常开发过程中,经常需要把数组中的内容依次赋值给变量,可以使用list、[]、extract来处理。

1. list($var1,$var2…) = $arr;

或者[$var1,$var2…] = $arr;
将数组中的值赋给一些变量
该函数只能用于索引数组,且数字索引从0开始。
如果对应的数字下标,则该变量赋值为null

<?php
list($a, $b, $c) = ['Jone', 'Jam', 'Kav'];
var_dump($a, $b, $c);       //output:string(4) "Jone" string(3) "Jam" string(3) "Kav"

list($a, $b) = ['Jone', 'Jam', 'Kav'];
var_dump($a, $b);           //output:string(4) "Jone" string(3) "Jam"

list($a, $b, $c) = [2 => 'Jone', 3 => 'Jam', 4 => 'Kav'];
var_dump($a, $b, $c);       //output:NULL NULL string(4) "Jone"

list($a, $b, $c) = ['id' => 4, 2 => 'Jam', 'name' => 'Kav'];
var_dump($a, $b, $c);       //output:NULL NULL string(3) "Jam"

list()如果需要跳过某些值

$info = ['coffee', 'brown', 'caffeine'];
[,$a,] = $info;
var_dump($a);    // string(5) "brown"

2. extract(array,extract_rules,prefix);

从数组中将变量导入到当前的符号表
该函数使用数组键名作为变量名,使用数组键值作为变量值,进行依次赋值

extract(['id' => 3, 'name' => 'Hoj']);
/**
 * 在IDE中会提示错误,加上注释即可
 * @var $id
 * @var $name
 */
var_dump($id, $name);       //output:int(3) string(3) "Hoj"

extract([3, 'name' => 'Hoj']);
var_dump($name);            //output:string(3) "Hoj"

总结:一般索引数组用list,关联数组用extract。


文章作者: Crazy Boy
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Crazy Boy !
评 论
 上一篇
ThinkPHP5框架where条件中含有or的使用方法
ThinkPHP5框架where条件中含有or的使用方法
1. 直接whereOr $list = Db::name('tb')->where(['status'=>1,'admin_id'=>5])->whereOr(['type'=>1,'step'=>2])->select();
2022-05-08
下一篇 
Windows下快速拆分txt文件
Windows下快速拆分txt文件
有时候,需要把一个大的txt文件拆分为多个小文件,并行处理文件里的内容,来提高工作效率。下面介绍一下在windows下的拆分方法。 现在有个a.txt文件,里面有若干行内容,现要拆分为多个小文件 操作步骤1、在文件所在目录打开git bas
2022-05-08
  目录