NOVINKA: Kurz kybernetickej bezpečnosti teraz už od 0 €. Staň sa žiadaným profesionálom. Zisti viac:
NOVINKA: Staň sa dátovým analytikom od 0 € a získaj istotu práce, lepší plat a nové kariérne možnosti. Viac informácií:
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.

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