博客
关于我
PHP中extract()函数的妙用
阅读量:792 次
发布时间:2023-02-28

本文共 962 字,大约阅读时间需要 3 分钟。

PHP extract() 函数详解

1. 功能介绍

extract() 是一个强大的工具,将数组中的键值对导入到当前的符号表中。它允许我们从像 $_POST$_GET 这样的全局数组中提取变量,避免了传统的逐个赋值复杂性。

2. 使用场景

  • 表单处理:在处理表单提交时,可以直接从 $_POST 中提取变量,无需一一赋值。
  • 数据解析:适用于解析从不同来源(如 JSON、XML等)获取的数据。
  • 代码简化:减少重复代码,提升开发效率。

3. 代码示例

2.1 表单处理

2.2 解析处理

4. 参数说明

4.1 基本语法

extract(array $var_array, int $extract_type = EXTR_OVERWRITE, string $prefix = '');

4.2 提取类型

  • EXTR_OVERWRITE:覆盖现有变量。
  • EXTR_SKIP:不覆盖现有变量。
  • EXTR_PREFIX_SAME:在变量前加上前缀。
  • EXTR_PREFIX_ALL:所有变量加上前缀。
  • EXTR_PREFIX_INVALID:非法键名加前缀。
  • EXTR_IF_EXISTS:仅覆盖已有变量。
  • EXTR_PREFIX_IF_EXISTS:仅加前缀已有变量。

4.3 前缀处理

  • 前缀仅在特定提取类型下有效。
  • 非法键名(如数字索引)会加上前缀。

4.4 返回值

extract() 返回成功导入的变量数目。

5. 注意事项

  • 数据安全:确保从不可信来源提取数据时,使用 EXTR_SKIP 并参考 variables_order
  • 版本支持:不同版本新增了多种提取类型。
  • 数组类型:必须使用关联数组,否则除非使用 EXTR_PREFIX_*,否则数字索引无法提取。

6. 示例

6.1 提取前缀

'blue', 'size' => 'medium', 'shape' => 'sphere');extract($var_array, EXTR_PREFIX_SAME, 'wddx');echo "$color, $size, $shape, $wddx_size\n";?>

输出结果blue, medium, sphere, medium

转载地址:http://obtfk.baihongyu.com/

你可能感兴趣的文章
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>
org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
查看>>
org/hibernate/validator/internal/engine
查看>>
orm总结
查看>>
os.system 在 Python 中不起作用
查看>>
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
查看>>
OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
查看>>
OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
查看>>
OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
查看>>
OSG学习:场景图形管理(一)——视图与相机
查看>>
OSG学习:场景图形管理(三)——多视图相机渲染
查看>>
OSG学习:场景图形管理(四)——多视图多窗口渲染
查看>>
Sql 随机更新一条数据返回更新数据的ID编号
查看>>
OSG学习:空间变换节点和开关节点示例
查看>>
OSG学习:纹理映射(一)——多重纹理映射
查看>>
OSG学习:纹理映射(二)——一维/二维/简单立方图纹理映射
查看>>
OSG学习:纹理映射(六)——灯光
查看>>
OSPF 四种设备角色:IR、ABR、BR、ASBR
查看>>