当前位置:首页 > PHP教程 > php应用 > 列表

php extract()函数把数据中变量转换成php变量

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-16 22:03:55 浏览: 评论:0 

PHP extract() 函数从数组中把变量导入到当前的符号表中,对于数组中的每个元素,键名用于变量名,键值用于变量值,第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突.

将变量从PHP数组导出注册为全局变量,实现键名当作变量名,值作为变量的值,代码如下:

$vars = array('var1'=>'1','var2'=>'2','var3'=>'3','var4'=>'4','var5'=>'5');

实现通过键名当作变量名的形式访问,如:$var1,$var2

第一种方案:采用PHP内置extract()函数,方法如下:

extract($vars);

第二种方案:采用foreach循环数组注册为全局变量,方法如下:

  1. foreach($vars as $k=>$v){  
  2.     $GLOBALS[$k] = $v;  

推荐采用第二种方案,因为extract()函数存在性能和安全问题.

extract() 函数说明:(PHP 3 >= 3.0.7, PHP 4, PHP 5)

extract -- 从数组中将变量导入到当前的符号表,代码如下:

int extract(array var_array [,int extract_type [,string prefix]])

本函数用来将变量从数组中导入到当前的符号表中,接受结合数组 var_array 作为参数并将键名当作变量名,值作为变量的值,对每个键/值对都会在当前的符号表中建立变量,并受到 extract_type 和 prefix 参数的影响.

使用全部参数,代码如下:

  1. <?php 
  2. $a = 'Original'
  3. $my_array = array("a" => "Cat","b" => "Dog""c" => "Horse"); 
  4. extract($my_array, EXTR_PREFIX_SAME, 'dup'); 
  5. echo "$a = $a; $b = $b; $c = $c; $dup_a = $dup_a;"
  6. ?>//开源软件:phpfensi.com 
  7. //输出: 
  8. $a = Original; $b = Dog; $c = Horse; $dup_a = Cat;

Tags: php extract()函数 php变量

分享到: