Kursrekommendationer:

PHP extract() -funktionen

Exempel

<?php
$a = "Original";
Tilldela värdena "Cat", "Dog" och "Horse" till variablerna $a, $b och $c:
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");;
extract($my_array)
?>

运行实例

echo "\$a = $a; \$b = $b; \$c = $c";

Definition och användning

extract() -funktionen importerar variabler från arrayen till den aktuella symboltabellen.

Funktionen använder arrayns nyckelnamn som variabelnamn och arrayns nyckelvärden som variabelvärden. För varje element i arrayen skapas en variabel i den aktuella symboltabellen. den andra parametern type

Används för att specificera hur extract() -funktionen ska hantera konflikter när en variabel redan finns och det finns en element med samma namn i arrayen.

Funktionen returnerar antalet variabler som lyckades importeras till symboltabellen.

syntaksbeskrivningextract(extract_rulesextract(prefix,
) parametrar
beskrivning array
extract_rules

Obligatorisk. Bestämmer vilken array som ska användas

Möjliga värden:

  • EXTR_OVERWRITE - Standard. Om det finns konflikter, ersätt redan befintliga variabler
  • EXTR_SKIP - Om det finns konflikter, ersätt inte redan befintliga variabler
  • EXTR_PREFIX_SAME - Lägger till prefix till variabelnamn om det finns konflikter prefix
  • EXTR_PREFIX_ALL - Lägger till prefix till alla variabelnamn prefix
  • EXTR_PREFIX_INVALID - Lägger till prefix endast före ogiltiga eller numeriska variabelnamn prefix
  • EXTR_IF_EXISTS - Ersätter endast värdena för variabler som redan finns i den aktuella symboltabellen, behandlar de andra inte.
  • EXTR_PREFIX_IF_EXISTS - Skapar endast en variabelnamn med prefix om det redan finns en variabel med samma namn i den aktuella symboltabellen, behandlar de andra inte.
  • EXTR_REFS - Extraherar variabler som referenser. Importerade variabler refererar fortfarande till värdet av arrayparametern.
prefix

valt. Observera prefix 仅在 extract_type 的值是 EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 时需要。如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。

前缀和数组键名之间会自动加上一个下划线。

技术细节

返回值: 返回成功导入到符号表中的变量数目。
PHP 版本: 4+
更新日志:

extract_rules 的值 EXTR_REFS 是在 PHP 4.3 中新增的。

extract_rules 的值 EXTR_IF_EXISTS 和 EXTR_PREFIX_IF_EXISTS 是在 PHP 4.2 中新增的。

自 PHP 4.0.5 起,该函数返回成功导入到符号表中的变量数目。

extract_rules 的值 EXTR_PREFIX_INVALID 是在 PHP 4.0.5 中新增的。

自 PHP 4.0.5 起,extract_rules 的值 EXTR_PREFIX_ALL 也包含数字变量。

更多实例

例子 1

使用所有参数:

<?php
$a = "Original";
$my_array = array("a" => "Cat", "b" => "Dog", "c" => "Horse");
extract($my_array, EXTR_PREFIX_SAME, "dup");
echo "\$a = $a; \$b = $b; \$c = $c; \$dup_a = $dup_a";
?>

运行实例