extractImporta variables al símbolo actual desde un array
&reftitle.description;
intextractarrayarrayintflagsEXTR_OVERWRITEstringprefix""
Importa variables desde un array a la tabla de símbolos actual.
Verifica cada clave para determinar si tiene un nombre de variable válido.
También verifica colisiones con variables existentes en la tabla de símbolos.
No utilice extract con datos no confiables, como entrada de usuario
(ej. $_GET, $_FILES).
&reftitle.parameters;
array
Un array asociativo. Esta función trata las claves como nombres de variables y
los valores como valores de variables. Para cada par clave/valor creará
una variable en la tabla de símbolos actual, sujeto a los parámetros
flags y prefix.
Debe usar un array asociativo; un array indexado numéricamente
no producirá resultados a menos que use EXTR_PREFIX_ALL o
EXTR_PREFIX_INVALID.
flags
La forma en que se tratan las claves inválidas/numéricas y las colisiones se determina
por los flags de extracción. Puede ser uno de los
siguientes valores:
EXTR_OVERWRITE
Si hay una colisión, sobrescribe la variable existente.
EXTR_SKIP
Si hay una colisión, no sobrescribe la variable
existente.
EXTR_PREFIX_SAMESi hay una colisión, antepone el nombre de la variable con
prefix.
EXTR_PREFIX_ALL
Antepone todos los nombres de variables con
prefix.
EXTR_PREFIX_INVALID
Solo antepone nombres de variables inválidas/numéricas con
prefix.
EXTR_IF_EXISTS
Solo sobrescribe la variable si ya existe en la
tabla de símbolos actual, de lo contrario no hace nada. Esto es útil
para definir una lista de variables válidas y luego extraer
solo esas variables que ha definido de
$_REQUEST, por ejemplo.
EXTR_PREFIX_IF_EXISTS
Solo crea nombres de variables con prefijo si la versión sin prefijo
de la misma variable existe en la tabla de símbolos actual.
EXTR_REFS
Extrae variables como referencias. Esto significa efectivamente que
los valores de las variables importadas aún hacen referencia a los valores del
parámetro array. Puede usar este flag
por sí solo o combinarlo con cualquier otro flag mediante OR con los
flags.
Si flags no está especificado, se
asume que es EXTR_OVERWRITE.
prefix
Tenga en cuenta que prefix solo es requerido si
flags es EXTR_PREFIX_SAME,
EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID
o EXTR_PREFIX_IF_EXISTS. Si
el resultado con prefijo no es un nombre de variable válido, no se
importará a la tabla de símbolos. Los prefijos se separan automáticamente de
la clave del array por un carácter de guión bajo.
&reftitle.returnvalues;
Devuelve el número de variables importadas con éxito a la tabla de símbolos.
&reftitle.examples;
Ejemplo de extract
"blue",
"size" => "medium",
"shape" => "sphere"
);
extract($var_array, EXTR_PREFIX_SAME, "wddx");
echo "$color, $size, $shape, $wddx_size\n";
?>
]]>
&example.outputs;
La variable $size no fue sobrescrita porque especificamos
EXTR_PREFIX_SAME, lo que resultó en la creación de
$wddx_size. Si se hubiera especificado EXTR_SKIP,
entonces $wddx_size ni siquiera se habría creado.
EXTR_OVERWRITE habría hecho que $size tuviera
el valor "medium", y EXTR_PREFIX_ALL habría resultado en nuevas variables
llamadas $wddx_color,
$wddx_size, y
$wddx_shape.
&reftitle.notes;
No utilice extract con datos no confiables, como
entrada de usuario
(ej. $_GET, $_FILES, etc.).
Si lo hace, asegúrese de usar uno de los valores de
flags que no sobrescriban, como
EXTR_SKIP y tenga en cuenta que debe extraer
en el mismo orden que está definido en
variables_order dentro del
&php.ini;.
&reftitle.seealso;
compactlist