PHP extract() 函数用法及示例

PHP Array 函数手册

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

语法

extract($array, $extract_type, $prefix)

定义和用法

此函数用于将变量从数组导入当前符号表。它采用一个关联数组数组,并将键视为变量名,将值视为变量值。对于每个键/值对,它将在当前符号表中创建一个变量,该变量受extract_type和prefix参数的约束。

参数

序号参数及说明
1

array(必需)

它指定一个数组

2

extract_type(可选)

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

  • EXTR_OVERWRITE   -  如果有冲突,覆盖已有的变量。

  • EXTR_SKIP   - 如果有冲突,不覆盖已有的变量。

  • EXTR_PREFIX_SAME -  如果有冲突,在变量名前加上前缀 prefix。

  • EXTR_PREFIX_ALL -   给所有变量名加上前缀 prefix。

  • EXTR_PREFIX_INVALID -  仅在非法/数字的变量名前加上前缀 prefix。

  • EXTR_IF_EXISTS -  仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。 举个实例,以下情况非常有用:定义一些有效变量,然后从 $_REQUEST 中仅导入这些已定义的变量。

  • EXTR_PREFIX_IF_EXISTS - 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。

  • EXTR_REFS  - 将变量作为引用提取。这有力地表明了导入的变量仍然引用了 array 参数的值。可以单独使用这个标志或者在 flags 中用 OR 与其它任何标志结合使用。
    如果没有指定 flags,则被假定为 EXTR_OVERWRITE。

3

prefix(可选)

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

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

返回值

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

在线示例

 "blue", "size"  => "medium", "shape" => "sphere");
   extract($input, EXTR_PREFIX_SAME, "bbcx");
   echo "$color, $size, $shape, $bbcx_size";
?>
测试看看‹/›

输出结果:

blue, large, sphere, medium

   PHP Array 函数手册