温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP使用extract()函数将数组转换为变量的方法

发布时间:2020-08-25 10:13:40 来源:亿速云 阅读:191 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关PHP使用extract()函数将数组转换为变量的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

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:

<?php 
      
    // 创建并初始化数组
    $state = array("AS"=>"ASSAM", "OR"=>"ORRISA", "KR"=>"KERELA"); 
      
    extract($state); 
      
    // 使用extract()函数后
    echo"\$AS = $AS<br>\$KR = $KR<br>\$OR =$OR"; 
      
?>

输出:

$AS = ASSAM
$KR = KERELA
$OR =ORRISA

示例2:

<?php 
      
    $AS="Original"; 
      
    $state = array("AS"=>"ASSAM", "OR"=>"ORRISA", "KR"=>"KERELA"); 
      
    // handling collisions with extract() function 
    extract($state, EXTR_PREFIX_SAME, "dup"); 
      
    echo "\$AS=$AS<br>"; 
   echo "\$KR=$KR<br>"; 
   echo "\$OR=$OR <br>"; 
   echo "\$dup_AS = $dup_AS"; 
      
?>

输出:

$AS=Original
$KR=KERELA
$OR=ORRISA 
$dup_AS = ASSAM

感谢各位的阅读!关于PHP使用extract()函数将数组转换为变量的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI