服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - PHP extract 将数组拆分成多个变量的函数

PHP extract 将数组拆分成多个变量的函数

2019-11-03 19:30php教程网 PHP教程

extract()函数提取关联数组(对数字索引数组无效)每对key和value,生成以key为变量名、value为对应值的多组新变量。

extract()函数语法: 
int extract( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] ) 
功能: extract()函数提取关联数组(对数字索引数组无效)每对key和value,生成以key为变量名、value为对应值的多组新变量。 

复制代码代码如下:


<?php 
$size = "old size"; //注意最后size变量的值。 
$a = array( 
"color" => "red", 
"size" => "XXL", 
"price" => "53"); 
extract($a); 
echo "color = $color<br />"; 
echo "size = $size<br />"; 
echo "price = $price<br />"; 
?> 



结果为: 

color = red 
size = XXL 
price = 53 

通过上例发现$size的值为XXL,而不是之前的”old size”,说明默认情况下当数组中的key与已有的变量冲突时,将覆盖原来的变量。 

继续介绍extract函数的后两个可选参数。 

第二个参数$extract_type是用来控制当发生冲突时的处理方法,可能的值为: 

EXTR_OVERWRITE : 冲突时覆盖已有的变量,默认值。 
EXTR_SKIP : 不覆盖已有的变量,即不在生成该key和value对的变量。 
EXTR_PREFIX_SAME : 冲突时,生成的新变量名加一个前缀字符串,其值由第三个参数指定。 
EXTR_PREFIX_ALL : 对所有生成的新变量名加一个前缀字符串,其值由第三个参数指定。 
EXTR_PREFIX_INVALID : 对key的值换为变量名时无效时(如key第一个字符为数字,而变量名要求第一个字符不能为数字),在变量名加一个前缀字符串,其值由第三个参数指定。 
EXTR_IF_EXISTS : 只取出之前已经存在的变量。 
EXTR_PREFIX_IF_EXISTS : 对EXTR_IF_EXISTS取得的变量,在其变量名加一个前缀字符串,其值由第三个参数指定。 
EXTR_REFS : 以引用的方式提取变量,说明提取变量的值发生改变会影响原数组的值。 

注意:在变量名加前缀字符串时,新的变量名为 PREFIX_key,而不是PREFIXkey。 

复制代码代码如下:


<?php 
$a = array( 
"color" => "red", 
"size" => "XXL", 
"price" => "53"); 
extract($a,EXTR_PREFIX_ALL,"SC"); 
echo "color = $SC_color<br />"; 
echo "size = $SC_size<br />"; 
echo "price = $SC_price<br />"; 
extract($a,EXTR_REFS); 
$color="green"; 
echo $a['color']; //查看原数组的值 
?> 


结果为: 
color = red 
size = XXL 
price = 53 
green

延伸 · 阅读

精彩推荐
  • PHP教程PHP类与对象后期静态绑定操作实例详解

    PHP类与对象后期静态绑定操作实例详解

    这篇文章主要介绍了PHP类与对象后期静态绑定操作,结合实例形式分析了后期静态绑定相关概念、原理、使用方法及操作注意事项,需要的朋友可以参考下...

    _xiaoxiong3412019-07-15
  • PHP教程php识别翻转iphone拍摄的颠倒图片

    php识别翻转iphone拍摄的颠倒图片

    这篇文章主要介绍了php识别翻转iphone拍摄的颠倒图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    头皮发麻4632019-10-07
  • PHP教程PHP后期静态绑定之self::限制实例分析

    PHP后期静态绑定之self::限制实例分析

    这篇文章主要介绍了PHP后期静态绑定之self::限制,结合实例形式分析了php后期静态绑定self::与static相关使用技巧,需要的朋友可以参考下...

    天涯海角路1502019-07-15
  • PHP教程PHP如何通过表单直接提交大文件详解

    PHP如何通过表单直接提交大文件详解

    这篇文章主要给大家介绍了关于PHP如何通过表单直接提交大文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学...

    栖迟于一丘2292019-07-04
  • PHP教程ThinkPHP防止重复提交表单的方法实例分析

    ThinkPHP防止重复提交表单的方法实例分析

    这篇文章主要介绍了ThinkPHP防止重复提交表单的方法,结合实例形式分析了thinkPHP防止重复提交表单的各种常见操作技巧与相关注意事项,需要的朋友可以参考...

    Jack小火苗1272019-10-08
  • PHP教程PHP删除数组中特定元素的两种方法

    PHP删除数组中特定元素的两种方法

    今天小编就为大家分享一篇关于PHP删除数组中特定元素的两种方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...

    炫酷飞扬3272019-06-09
  • PHP教程CI框架安全过滤函数示例

    CI框架安全过滤函数示例

    这篇文章主要介绍了CI框架安全过滤函数,结合实例形式分析了CodeIgniter框架去空、防止XSS的函数定义与使用方法,并附带了原生PHP进行各种常见安全过滤相关...

    WhoAmMe4152019-09-23
  • PHP教程PHP后期静态绑定实例浅析

    PHP后期静态绑定实例浅析

    这篇文章主要介绍了PHP后期静态绑定,结合实例形式分析了php后期静态绑定相关概念、原理、使用方法与相关注意事项,需要的朋友可以参考下...

    天涯海角路3702019-07-15