extract
extract
extract
- It import variables into the current symbol table from an array.
Syntax:
int extract ( array var_array [, int extract_type [, string prefix]])
This function is used to import variables from an array into the current symbol table. It takes an associative array var_array and treats keys as
variable names and values as variable values. For each key/value pair it will create a variable in the current symbol table, subject to extract_type and prefix
parameters.
extract() checks each key to see whether it constitutes a valid variable name and also for collisions with existing variables in the symbol table. The way
invalid/numeric keys and collisions are treated is determined by extract_type. It can be one of the following values:
EXTR_OVERWRITE
If there is a collision, overwrite the existing variable.
EXTR_SKIP
If there is a collision, don’t overwrite the existing variable.
EXTR_PREFIX_SAME
If there is a collision, prefix the variable name with prefix.
EXTR_PREFIX_ALL
Prefix all variable names with prefix. Since PHP 4.0.5 this includes numeric ones as well.
EXTR_PREFIX_INVALID
Only prefix invalid/numeric variable names with prefix. This flag was added in PHP 4.0.5.
EXTR_IF_EXISTS
Only overwrite the variable if it already exists in the current symbol table, otherwise do nothing. This is useful for defining a list of valid variables and then
extracting only those variables you have defined out of $_REQUEST, for example. This flag was added in PHP 4.2.0.
EXTR_PREFIX_IF_EXISTS
Only create prefixed variable names if the non-prefixed version of the same variable exists in the current symbol table. This flag was added in PHP 4.2.0.
If extract_type is not specified, it is assumed to be EXTR_OVERWRITE.
Note that prefix is only required if extract_type is EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID or EXTR_PREFIX_IF_EXISTS. If
the prefixed result is not a valid variable name, it is not imported into the symbol table.
extract() returns the number of variables successfully imported into the symbol table.
A possible use for extract is to import into the symbol table variables contained in an associative array returned by wddx_deserialize().
Example:
$size = “large”;
$var_array = array (”color” => “blue”,
“size” => “medium”,
“shape” => “sphere”);
extract ($var_array, EXTR_PREFIX_SAME, “wddx”);
echo “$color, $size, $shape, $wddx_size\n”;
The above example will produce: blue, large, sphere, medium
