extract()
把数组中的变量,导入<a href='http://www.jianshu.com/p/46f91cd5f67a'>当前符号列表</a>中;
基础语法:
int extract(array $array [,constant $flags [,str $prefix]])
array $array 被解析的数组;
constant $flags 解析的规则;
str $prefix 给变量添加前缀的字符串,前缀同键名之间用_ 下划线连接;
int 返回添加到<a href='http://www.jianshu.com/p/46f91cd5f67a'>当前符号列表</a>的变量数目;
语法结构1:
extract(array $array )
把数组中键名能够转为合法变量标识符所有元素,添加到<a href='http://www.jianshu.com/p/46f91cd5f67a'>当前符号列表</a>中,覆盖同名变量;
实例:
$a_bill_info = array('first_name'=>'bill','last_name'=>'gates','age'=>22,'job'=>'worker');
extract($a_bill_info);
echo $first_name.'<br/>'
.$last_name.'<br/>'
.$age.'<br/>'
.$job;
#output :
#bill
#gates
#22
#worker
语法结构2:
extract(array $array ,EXTR_SKIP)
提取数组中的变量到符号列表中,但是不覆盖已有变量;
实例:
$name= 'aa';
$a_tom_info = array('name'=>'tom','age'=>33);
$int = extract($a_tom_info,EXTR_SKIP);
echo $int.'<br/>'
.$name;
#output : 2
#aa
语法结构3:
int EXTRACT(array $array ,EXTR_PREFIX_SAME,string $prefix)
给同已有变量同名的键名,增加一个前缀,其他不增加前缀,
导出这些键名为变量,
覆盖同名的变量;
实例:
$name= 'aa';
$a_tom_info = array('name'=>'tom','age'=>33);
extract($a_tom_info,EXTR_PREFIX_SAME,'tom');
echo $name ;
echo $tom_name;
#output : aa;
#output : tom;
语法结构4:
extract(array $array ,EXTR_PREFIX_ALL, str $prefix)
给键名添加前缀,把变量添加到当前字符列表中,如果有同名的覆盖同名的变量;
实例:
$a_bill_info = array('first_name'=>'bill','last_name'=>'gates','age'=>22,'job'=>'worker');
extract($a_bill_info,EXTR_PREFIX_ALL ,'bill')
echo $bill_first_name ;
#output: bill
语法结构5:
int extract(array $array ,EXTR_PREFIX_INVALID,string $prefix)
把键名添加到当前符号列表,
如果健民作为变量是一个非法的标识符的话,给这个键名添加一个前缀,在添加到当前符号列表;
如果当前符号列表有相同的变量名,那么覆盖这些变量;
实例:
$a_bill_info = array('1_name'=>'bill','last_name'=>'gates','age'=>22,'job'=>'worker');
extract($a_bill_info,EXTR_PREFIX_INVALID,'bill');
echo $bill_1_name;
#output : bill
语法结构6:
extract(array $array ,EXTR_IF_EXISTS)
只提取当前符号列表中同名的变量;覆盖这些变量;
实例:
$first_name = 'tom';
$a_bill_info = array('first_name'=>'bill','last_name'=>'gates','age'=>22,'job'=>'worker');
$int = extract($a_bill_info ,EXTR_IF_EXISTS)
echo $first_name.'<br/>
.$int';
#output : bill
#1
语法结构7:
extract(array $array ,EXTR_PREFIX_IF_EXISTS ,str $prefix)
只提取数组中的键名同符号列表中变量同名的数组元素;添加前缀后,导入符号列表中;
实例:
$first_name = 'tom';
$a_bill_info = array('first_name'=>'bill','last_name'=>'gates','age'=>22,'job'=>'worker');
extract($a_bill_info,EXTR_PREFIX_IF_EXISTS ,'bill')
echo $first_ame.'<br/>'.$bill_first_name;
#output:
#tom
#bill
语法结构8:
extract(array $array,EXTR_REFS)
引用 提取数组中的所有变量,覆盖已有变量;
实例:
$a_bill_info = array('first_name'=>'bill','last_name'=>'gates','age'=>22,'job'=>'worker');
extract(|$a_bill_info,EXTR_REFS)
echo $first_name ;
#output : bill
a_bill_info['first_name'] = 'bill_2';
echo $first_name ;
#output : bill_2;