php 数组处理函数extract详解及实例代码

php 数组处理函数extract

extract函数用于从数组中将变量导入到当前的符号表

基本语法

int extract ( array &$var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix = NULL ]] )

本函数用来将变量从数组中导入到当前的符号表中。检查每个键名看是否可以作为一个合法的变量名,同时也检查和符号表中已有的变量名的冲突。

参数介绍:

参数 描述 var_array 必需。规定要使用的数组。

一个关联数组。此函数会将键名当作变量名,值作为变量的值。 对每个键/值对都会在当前的符号表中建立变量,并受到 extract_type 和 prefix 参数的影响。

必须使用关联数组,数字索引的数组将不会产生结果,除非用了 EXTR_PREFIX_ALL 或者 EXTR_PREFIX_INVALID 。

extract_type

可选。extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突。对不合法和冲突的键名的处理将根据此参数决定。

可能的值:

EXTR_OVERWRITE - 默认。如果有冲突,则覆盖已有的变量。 EXTR_SKIP - 如果有冲突,不覆盖已有的变量。 EXTR_PREFIX_SAME - 如果有冲突,在变量名前加上前缀 prefix。 EXTR_PREFIX_ALL - 给所有变量名加上前缀 prefix。 EXTR_PREFIX_INVALID - 仅在不合法或数字变量名前加上前缀 prefix。 EXTR_IF_EXISTS - 仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。 EXTR_PREFIX_IF_EXISTS - 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。 EXTR_REFS - 将变量作为引用提取。导入的变量仍然引用了数组参数的值。

prefix

可选。注意 prefix 仅在 extract_type 的值是 EXTR_PREFIX_SAME ,EXTR_PREFIX_ALL , EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 时需要。 如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。前缀和数组键名之间会自动加上一个下划线。

返回值

返回成功导入到符号表中的变量数目。

实例:

<?php $size = "large"; $var_array = array( "color" => "blue", "size" => "medium", "shape" => "sphere" ); extract($var_array, EXTR_PREFIX_SAME, "wddx"); echo " $color , $size , $shape , $wddx_size <br/>"; ?>

运行结果:

blue, large, sphere, medium

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-10-12 17:51:04

php 数组处理函数extract详解及实例代码的相关文章

php 数组处理函数extract详解及实例代码_php实例

php 数组处理函数extract extract函数用于从数组中将变量导入到当前的符号表 基本语法 int extract ( array &$var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix = NULL ]] ) 本函数用来将变量从数组中导入到当前的符号表中.检查每个键名看是否可以作为一个合法的变量名,同时也检查和符号表中已有的变量名的冲突. 参数介绍: 参数 描述 var_array 必需.规定要使用的数组

C++函数重载详解及实例代码_C 语言

C++函数的重载 定义 在同一个作用域中,函数名相同,函数的参数列表不同的函数之间构成重载关系,在不同作用域中的同名函数遵循标识符隐藏的原则 ATTENTION:重载与函数的返回值类型无关,因为声明一个函数不需要返回类型,所以无法用来区分哪个函数 常函数和普通成员函数之间构成重载,重载时常对象调用常成员函数,一般对象调用一般成员函数 class A{ - public: void getVal()const{-} void getVal(){-} }; int main(){ const A a

MySQL MEM_ROOT详解及实例代码_Mysql

MySQL MEM_ROOT详解 这篇文章会详细解说MySQL中使用非常广泛的MEM_ROOT的结构体,同时省去debug部分的信息,仅分析正常情况下,mysql中使用MEM_ROOT来做内存分配的部分. 在具体分析之前我们先例举在该结构体使用过程中用到的一些宏: #define MALLOC_OVERHEAD 8 //分配过程中,需要保留一部分额外的空间 #define ALLOC_MAX_BLOCK_TO_DROP 4096 //后续会继续分析该宏的用途 #define ALLOC_MAX_

Android ViewPagerIndicator详解及实例代码

Android ViewPagerIndicator详解及实例代码 关于自定义View的属性零碎知识 自定义View和自定义属性的知识不再此提及,这里着重说的是属性在自定义View中的获取方式,自定义的属性如下: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="Wisely"> <attr name=&

php mysql insert into 结合详解及实例代码_Mysql

php mysql insert into 结合详解 ySQL INSERT INTO语句在实际应用中是经常使用到的语句,所以对其相关的内容还是多多掌握为好. 向数据库表插入数据 INSERT INTO 语句用于向数据库表添加新记录. 语法 INSERT INTO table_name VALUES (value1, value2,....) 您还可以规定希望在其中插入数据的列: INSERT INTO table_name (column1, column2,...) VALUES (valu

Android Dialog详解及实例代码

Android Dialog详解及实例代码 概述: Android开发中最常用的就是Dialog类,除了自定义dialog布局,最多的就是用在弹出对话框.进度条.输入框.单选.复选框. 1.选择对话框: AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle("选择对话框"); dialog.setMessage("请选择确认或取消"); dialog.setCancel

php array_values 返回数组的所有值详解及实例_php实例

php array_values php array_values 函数用于返回数组中所有的值,注意该函数将为新数组建立数组索引,原来的文字索引将不存在.本文章向大家讲解array_values函数的基本语法及使用实例. array_values 返回数组中所有的值 基本语法: array array_values ( array $input ) array_values() 返回 input 数组中所有的值并给其建立数字索引. 参数介绍: 参数 描述 input 必需.规定数组. 返回值:

php array_multisort 对数组进行排序详解及实例代码_php实例

php 中array_multisort() 函数可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序.本文章向大家讲解array_multisort函数的使用方法.  array_multisort() 函数返回排序数组.您可以输入一个或多个数组.函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序. 注释:字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增. 注释:您可以在每个数组后设置排序顺序和排序类型参数.如

C++ 继承详解及实例代码_C 语言

C++继承可以是单一继承或多重继承,每一个继承连接可以是public,protected,private也可以是virtual或non-virtual.然后是各个成员函数选项可以是virtual或non-virtual或pure virtual.本文仅仅作出一些关键点的验证. public继承,例如下: 1 class base 2 {...} 3 class derived:public base 4 {...} 如果这样写,编译器会理解成类型为derived的对象同时也是类型为base的对象