当前位置:首页 > PHP教程 > php函数 > 列表

PHP如何使用extract()函数将数组转换为变量?

发布:smiling 来源: PHP粉丝网  添加日期:2020-02-15 15:47:12 浏览: 评论:0 

extract()函数是PHP中的一个内置函数;该函数可以将数组转换为多个变量。下面本篇文章就来带大家了解一下PHP中如何使用extract()函数,希望对大家有所帮助。

PHP extract()函数

extract()函数执行数组到变量转换,即它将数组键转换为变量名称,将数组值转换为变量值。换句话说,我们可以说extract()函数将变量从数组导入到符号表。

基本语法

extract($input_array, $extract_rule, $prefix)

参数:extract()函数接受三个参数,其中一个是强制的,另外两个是可选的。

1、$input_array:用于指定要使用的数组;不可省略,是必需的参数。

2、$extract_rule:extract()函数检查无效的变量名称和与现有变量名称的冲突;而此参数用于指定如何处理无效和冲突的名称,可省略。此参数可以采用以下值:

● EXTR_OVERWRITE:表示如果发生冲突,则覆盖现有变量。

● EXTR_SKIP:表示如果发生冲突,请勿覆盖现有变量。

● EXTR_PREFIX_SAME:表示如果存在冲突,则根据$ prefix参数为变量名称添加前缀。

● EXTR_PREFIX_ALL:表示所有变量名前缀为$ prefix参数。

● EXTR_PREFIX_INVALID:表示根据参数$prefix,只在无效/数值变量名前添加前缀。

● EXTR_IF_EXISTS:表示只有当变量已存在于当前符号表中时才覆盖该变量,否则不执行任何操作。

● EXTR_PREFIX_IF_EXISTS:只有在当前符号表中存在相同变量的非前缀版本时创建前缀变量名。

3、$prefix:用于指定前缀,可省略。前缀通过下划线字符自动与数组键分隔。此参数仅在参数$ extract_rule设置为EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID或EXTR_PREFIX_IF_EXISTS时才需要。

返回值:extract()函数的返回值是一个整数,它表示从数组中成功提取或导入的变量数。

代码示例
:下面通过代码示例来看看如何使用extract()函数将数组转换为变量,并输出。

示例1:

  1. <?php 
  2.     //创建并初始化数组 
  3.  
  4.     $state = array("AS"=>"ASSAM""OR"=>"ORRISA""KR"=>"KERELA");
  5.  
  6.     extract($state);
  7.  
  8.     //使用extract()函数后 
  9.  
  10.     echo"\$AS = $AS<br>\$KR = $KR<br>\$OR =$OR"; 
  11. ?> 

输出:

  1. $AS = ASSAM 
  2.  
  3. $KR = KERELA 
  4.  
  5. $OR =ORRISA 

示例2:

  1. <?php  
  2.  
  3.     $AS="Original";  
  4.  
  5.     $state = array("AS"=>"ASSAM""OR"=>"ORRISA""KR"=>"KERELA");   
  6.  
  7.     // handling collisions with extract() function  
  8.  
  9.     extract($state, EXTR_PREFIX_SAME, "dup");   
  10.  
  11.     echo "\$AS=$AS<br>";  
  12.  
  13.    echo "\$KR=$KR<br>";  
  14.  
  15.    echo "\$OR=$OR <br>";  
  16.  
  17.    echo "\$dup_AS = $dup_AS";      
  18.  
  19. ?> 

输出:

  1. $AS=Original 
  2.  
  3. $KR=KERELA 
  4.  
  5. $OR=ORRISA  
  6.  
  7. $dup_AS = ASSAM 

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

Tags: extract()

分享到: