extract
Importa le variabili nella tabella dei simboli corrente da un array
Importa le variabili nella tabella dei simboli corrente da un array.
Controlla ogni chiave per vedere se ha un nome di variabile valido. Controlla anche le collisioni con le variabili esistenti nella tabella dei simboli.
array Un array associativo. Questa funzione tratta le chiavi come nomi di variabili e i valori come valori di variabili. Per ogni coppia chiave/valore verrà creata una variabile nella tabella dei simboli corrente, soggetta ai parametri flags e prefix. È necessario utilizzare un array associativo; un array indicizzato numericamente non produrrà risultati a meno che non si utilizzi EXTR_PREFIX_ALL o EXTR_PREFIX_INVALID. flags Il modo in cui vengono trattate le chiavi non valide/numeriche e le collisioni è determinato dai flag di estrazione. Può essere uno dei seguenti valori: EXTR_OVERWRITE In caso di collisione, sovrascrivi la variabile esistente. EXTR_SKIP In caso di collisione, non sovrascrivere la variabile esistente. EXTR_PREFIX_SAME In caso di collisione, anteporre al nome della variabile il prefisso prefix. EXTR_PREFIX_ALL Prefissa tutti i nomi delle variabili con prefix. EXTR_PREFIX_INVALID Aggiunge il prefisso prefix solo ai nomi di variabili non valide/numeriche. EXTR_IF_EXISTS Sovrascrive la variabile solo se esiste già nella tabella dei simboli corrente, altrimenti non fa nulla. Questo è utile per definire un elenco di variabili valide e quindi estrarre solo quelle variabili che sono state definite in $_REQUEST, per esempio. EXTR_PREFIX_IF_EXISTS Crea nomi di variabili con prefisso solo se la versione senza prefisso della stessa variabile esiste nella tabella dei simboli corrente. EXTR_REFS Estrae le variabili come riferimenti. Ciò significa effettivamente che i valori delle variabili importate fanno ancora riferimento ai valori del parametro array. Si può usare questo flag da solo o combinarlo con qualsiasi altro flag utilizzando l'OR dei flags. Se flags non è specificato, si presume che sia EXTR_OVERWRITE. prefix Notare che prefix è richiesto solo se flags è EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID o EXTR_PREFIX_IF_EXISTS. Se il risultato con prefisso non è un nome di variabile valido, non viene importato nella tabella dei simboli. I prefissi vengono separati automaticamente dalla chiave dell'array da un carattere underscore.
Restituisce il numero di variabili importate con successo nella tabella dei simboli.
Esempio di extract Un possibile utilizzo di extract è importare nella tabella dei simboli le variabili contenute in un array associativo restituito da wddx_deserialize. <?php /* Si supponga che $var_array sia un array restituito da wddx_deserialize */ $size = "grande"; $array_variabili = array("color" => "blu", "size" => "media", "shape" => "sfera"); extract($array_variabili, EXTR_PREFIX_SAME, "wddx"); echo "$color, $size, $shape, $wddx_size\n"; ?> Example outputs blu, grande, sfera, media $size non è stato sovrascritto perché abbiamo specificato EXTR_PREFIX_SAME, che ha portato alla creazione di $wddx_size. Se fosse stato specificato EXTR_SKIP, allora $wddx_size non sarebbe nemmeno stato creato. EXTR_OVERWRITE avrebbe fatto sì che $size avesse il valore "medio" e EXTR_PREFIX_ALL avrebbe comportato nuove variabili con nomi $wddx_color, $wddx_size e $wddx_shape.
php.ini.
compact list