(PHP 4, PHP 5)
extract — Importa le variabili nella tabella dei simboli
$var_array
      [, int $extract_type
      [, string $prefix
     ]] )
     Questa funzione viene usata per importare delle variabili da un array nella
     tabella dei simbloi corrente. Riceve un array associativo
     var_array e interpreta le chiavi come nomi di
     variabile e i valori come valori di variabile. Per ogni coppia chiave/valore
     verrà creata una variabile nella tabella dei simboli corrente, coerentemente con
     i parametri extract_type e
     prefix.
    
Nota:
Dalla versione 4.0.5 questa funzione restituisce il numero di variabili estratte.
Nota:
EXTR_IF_EXISTSeEXTR_PREFIX_IF_EXISTSsono stati introdotti nella versione 4.2.0.
Nota:
EXTR_REFSè stata introdotta nella versione 4.3.0.
     extract() controlla ogni chiave per stabilire se 
     costituisce un nome valido di variabile e se ci sono collisioni con
     variabili già esistenti nella tabella dei simboli. Il modo in cui vengono trattate le
     chiavi invalide/numeriche e le collisioni è determinato da
     extract_type. Può essere uno dei
     seguenti valori:
     
EXTR_OVERWRITEEXTR_SKIPEXTR_PREFIX_SAMEprefix.
        
       EXTR_PREFIX_ALLprefix. Dal PHP 4.0.5 questo avviene
         anche per i valori numerici.
        
       EXTR_PREFIX_INVALIDprefix. Questa opzione è stata aggiunta in 
         PHP 4.0.5.
        
       EXTR_IF_EXISTSEXTR_PREFIX_IF_EXISTSEXTR_REFSvar_array. Si può usare questo flag
         da solo o combinarlo con gli altri mediante un OR nel parametro
         extract_type. Questo flag è stato aggiunto nel PHP
         4.3.0.
        
       
     Se extract_type non è specificato, si
     assume che sia EXTR_OVERWRITE.
    
     Si noti che prefix è richiesto solo se
     extract_type è EXTR_PREFIX_SAME,
     EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID 
     o EXTR_PREFIX_IF_EXISTS. Se
     il risultato non è un nome di variabile valido, non
     viene importato nella tabella dei simboli.
    
extract() restituisce il numero di variabili importate con successo nella tabella dei simboli.
      Non utilizzare extract() su dati non convalidati, come
      gli input degli utenti ($_GET, ...). Se lo si deve fare, ad esempio per eseguire temporaneamente
      vecchio codice basato su
      register_globals,
      sincerarsi di utilizzare uno dei valori di
      extract_type come
      EXTR_SKIP e ricordarsi che occorre estrarre
      $_SERVER, $_SESSION,
      $_COOKIE, $_POST e
      $_GET in questo ordine.
     
Un possibile uso di extract() è quello di importare nella tabella dei simboli variabili contenute in un array associativo restituito da wddx_deserialize().
Example #1 esempio diextract()
<?php
/* Si supponga che $array_variabili sia un array restituito da
   wddx_deserialize */
$dimensione = "grande";
$array_variabili = array("colore" => "blu",
                         "dimensione"  => "media",
                         "forma" => "sfera");
extract($array_variabili, EXTR_PREFIX_SAME, "wddx");
echo "$colore, $dimensione, $forma, $wddx_dimensione\n";
?>
L'esempio mostrerà:
blu, grande, sfera, media
     La variabile $dimensione non è stata sovrascritta, in quanto è
     specificato EXTR_PREFIX_SAME, che ha portato alla
     creazione di $wddx_dimensione.  Se fosse stato specificato EXTR_SKIP,
     $wddx_dimensione non sarebbe stata creata.
     EXTR_OVERWRITE avrebbe portato $dimensione ad assumere
     il valore "medio", e EXTR_PREFIX_ALL avrebbe fatto creare nuove variabili
     chiamate $wddx_colore,
     $wddx_dimensione e
     $wddx_forma.
    
     Si deve usare un array associativo, un array indicizzato numericamente
     non produce risultati a meno di non usare
     EXTR_PREFIX_ALL o EXTR_PREFIX_INVALID.
    
Vedere anche compact().