Kurssivinkki:

PHP extract() -funktio

esimerkki

<?php
$a = "Original";
Aseta avaimet "Cat", "Dog" ja "Horse" muuttujiin $a, $b ja $c:
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");;
extract($my_array)
?>

运行实例

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

määrittely ja käyttötapa

extract() -funktio tuo muuttujia taulukosta nykyiseen symbolitaulukkoon.

Tämä funktio käyttää taulukon avaimia muuttujaniminä ja taulukon arvoja muuttujaväleinä. Jokaiselle taulukon elementille luodaan vastaava muuttuja nykyisessä symbolitaulukossa. toinen parametri tyyppi

Käytetään määrittämään, miten extract() -funktio käsittelee ristiriidat, jos jokin muuttuja on jo olemassa ja taulukossa on samanniminen elementti.

Tämä funktio palauttaa onnistuneesti tuodut muuttujat symbolitaulukkoon.

syntaksikuvausextract(extract_rulesextract(prefix,
) parametri
kuvaus array
extract_rules

Välttämätön. Määrittää käytettävä taulukko.

Mahdolliset arvot:

  • EXTR_OVERWRITE - Oletus. Korvaa olemassa olevat muuttujat, jos on ristiriitoja
  • EXTR_SKIP - Älä korvaa olemassa olevia muuttujia, jos on ristiriitoja
  • EXTR_PREFIX_SAME - Lisää etuliite muuttujanimiin, jos on ristiriitoja prefix.
  • EXTR_PREFIX_ALL - Lisää etuliite kaikkiin muuttujanimiin prefix.
  • EXTR_PREFIX_INVALID - Lisää etuliite vain epäilyttäville tai numeerisille muuttujanimille prefix.
  • EXTR_IF_EXISTS - Korvaa niiden arvot, jos nykyisessä symbolitaulukossa on jo samannimiset muuttujat, muut jätetään huomiotta.
  • EXTR_PREFIX_IF_EXISTS - Luo etuliitteellä varustettu muuttujanimi vain, jos nykyisessä symbolitaulukossa on jo samanniminen muuttuja, muut jätetään huomiotta.
  • EXTR_REFS - Otetaan muuttujat viittauksina. Tuodut muuttujat viittaavat edelleen taulukon parametrien arvoihin.
prefix

Valinnainen. Huomaa 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";
?>

运行实例