The
function can make our code very simple. I have read a lot of PHP-related knowledge recently. Here I will introduce to you the knowledge about PHP associative arrays. Description international extract(array $var_array [ abstract $extract_type = EXTR_OVERWRITE [ , string $prefix] ] ) Imports the variable array into the current symbol table. Each key is checked to see if it has a legal variable name.
It also checks for collisions with existing variable symbol tables, PHP associative arrays. This function takes the key as the variable name and the value as the variable's value. For each key/value pair, a variable will be created in the current symbol table, subject to the extract_type and prefix parameters. You must use associative arrays, a numerically indexed array will not produce results unless you use EXTR_PREFIX_ALL or EXTR_PREFIX_INVALID.
The way invalid/numeric keys and collisions are treated is 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, do not overwrite existing variables.
◆EXTR_PREFIX_SAME The prefix of the variable name if there is a collision.
◆The prefix of all variable names prefixed by EXTR_PREFIX_ALL.
◆EXTR_PREFIX_INVALID only prefixes the variable names with invalid/numeric prefixes.
◆EXTR_IF_EXISTS only overwrites the variable if it already exists in the current symbol table, otherwise, does nothing. It is helpful to define a list of valid variables and then extract only those variables you defined in the $_REQUEST array.
◆EXTR_PREFIX_IF_EXISTS only creates prefixed variable names if a non-prefixed version of the same variable exists in the current symbol table.
◆Reference of EXTR_REFSextract variable. This effectively means that the values imported still refer to the value of the variable, the var_array parameter. You can use this flag by itself or in combination with any other flag OR'ing the extract_type.
PHP associative array instance
Example: example of extract()
One possibility for extract() is to import into symbol Table variable containing associative array returned by wddx_deserialize().
<ol class="dp-xml"> <li class="alt"><span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">php</span></font></strong><span> </span></span></li> <li class=""><span> </span></li> <li class="alt"><span>/* Suppose that $var_array is an array returned from </span></li> <li class=""><span>wddx_deserialize */ </span></li> <li class="alt"><span> </span></li> <li class=""> <span>$</span><span class="attribute"><font color="#ff0000">size</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">"large"</font></span><span>; </span> </li> <li class="alt"> <span>$</span><span class="attribute"><font color="#ff0000">var_array</font></span><span> = array("color" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> "blue", </span> </li> <li class=""> <span>"size" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> "medium", </span> </li> <li class="alt"> <span>"shape" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> "sphere"); </span> </li> <li class=""><span>extract($var_array, EXTR_PREFIX_SAME, "wddx"); </span></li> <li class="alt"><span>echo "$color, $size, $shape, $wddx_sizen"; </span></li> <li class=""> <span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span> </li> </ol>