IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

extract - Český PHP manuál

Rozbalí proměnné z pole do současného scope. Jako názvy proměnných jsou použity klíče v poli, funkce bere v úvahu validní jména pro promenné a také, zda proměnná již existuje.

Parametry

Pole. Druhý, nepovinný parametr může nabývat následujících hodnot:

  • EXTR_OVERWRITE - Přepíše existující proměnné.
  • EXTR_SKIP - Nepřepíše existující proměnné.
  • EXTR_PREFIX_SAME - Předsadí jméno proměnné prefixem v případě, že již existuje.
  • EXTR_PREFIX_ALL - Předsadí vždy všechny názvy proměnných prefixem.
  • EXTR_PREFIX_IN­VALID - Předsadí pouze nevalidní názvy proměnných (např číselné).
  • EXTR_IF_EXISTS - Přepíše proměnnou pouze pokud existuje, v ostatních případech nebude proměnná založena. Založením povolených proměnných lze ošetřit vybalení toho správného např. z POSTu.
  • EXTR_PREFIX_IF_E­XISTS - Předsadí názvy proměnných prefixem v případě, že již existuje. Ty neexistující nebudou vybaleny.
  • EXTR_REFS - Vybalí proměnné jako reference na původní prvky pole. Tento flag lze kombinovat s ostatními.

Pokud není flag uveden, je použita výchozí hodnota EXTR_OVERWRITE.

Třetí, nepovinný parametr je prefix názvu proměnné. Je vyžadován pouze u flagů: EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID or EXTR_PREFIX_IF_E­XISTS. Za prefix je automaticky přídáno podtržítko "_".

Návratová hodnota

Počet úspěšně vybalených proměnných.

Příklad

<?php
$pole = array('a' => 1, 'b' => '2', 'c' => 3.0);

extract($pole);

echo $a;

Výstup:

1

Funkci extract lze velmi dobře použít při tvorbě šablon s použitím vlastních struktur PHP.

Jedná se o potenciálně nebezpečnou funkci, měli bychom myslet na to, jaká data se do vybalovaného pole mohou dostat a jestli je uživatel schopen do tohoto pole zasahovat.


 

Všetky články v sekcii
Pole - Český PHP manuál
Článok pre vás napísal David Hartinger
Avatar
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity