PHP - extract() 函数



语法

extract($array, $extract_type, $prefix)

定义和用法

此函数用于将数组中的变量导入到当前符号表中。它接受一个关联数组 `array`,并将键视为变量名,值视为变量值。对于每个键值对,它将在当前符号表中创建一个变量,这取决于 `extract_type` 和 `prefix` 参数。

参数

序号 参数及说明
1

array (必需)

指定一个数组。

2

extract_type (可选)

extract() 函数检查无效的变量名和与现有变量名的冲突。此参数指定如何处理无效和冲突的名称。可能的取值:

  • EXTR_OVERWRITE - 默认值。发生冲突时,将覆盖现有变量。

  • EXTR_SKIP - 发生冲突时,不覆盖现有变量。

  • EXTR_PREFIX_SAME - 发生冲突时,变量名将被赋予前缀。

  • EXTR_PREFIX_ALL - 所有变量名都将被赋予前缀。

  • EXTR_PREFIX_INVALID - 只有无效或数字变量名将被赋予前缀。

  • EXTR_IF_EXISTS - 只覆盖当前符号表中已存在的变量,否则不执行任何操作。

  • EXTR_PREFIX_IF_EXISTS - 只有在当前符号表中存在相同的变量时才为变量添加前缀。

  • EXTR_REFS - 将变量作为引用提取。导入的变量仍然引用数组参数的值。

3

prefix (可选)

如果在 `extract_rules` 参数中使用了 EXTR_PREFIX_SAME、EXTR_PREFIX_ALL、EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS,则需要指定前缀。

此参数指定前缀。前缀通过下划线字符与数组键自动分隔。

返回值

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

示例

尝试以下示例:

<?php
   $size = "large";
   $input = array("color" => "blue", "size"  => "medium", "shape" => "sphere");
   extract($input, EXTR_PREFIX_SAME, "bbcx");
   echo "$color, $size, $shape, $bbcx_size";
?> 

这将产生以下结果:

blue, large, sphere, medium
php_function_reference.htm
广告