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

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

内容导读

收集整理的这篇技术教程文章主要介绍了PHP如何使用extract()函数将数组转换为变量?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2253字,纯文字阅读大概需要4分钟

内容图文

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

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

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注Gxl网相关教程栏目!!!

以上就是PHP如何使用extract()函数将数组转换为变量?的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的PHP如何使用extract()函数将数组转换为变量?全部内容,希望文章能够帮你解决PHP如何使用extract()函数将数组转换为变量?所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com