Directly on the code:
| The code is as follows |
Copy Code |
<?php
$my _array = Array ("A" => "Cat", "B" => "Dog", "C" => "horse");
Extract ($my _array);
echo "$a = $a; $b = $b; $c = $c ";
?> |
Guess what will come out?
Output:
| The code is as follows |
Copy Code |
| $a = Cat; $b = Dog; $c = Horse |
No variable $a $b $c, no assignment, why can I get the value?
For example, can easily extract $_post or $_get elements, the form submitted to the content can not use one by one assignment, directly using the following code:
Form.html
| The code is as follows |
Copy Code |
<form action= "action.php" method= "POST" >
<input type= "text" name= "username" >
<input type= "password" name= "password" >
<input type= "Submit" > |
Use the Extract () function in action.php to unlock the $_post global data:
action.php
| The code is as follows |
Copy Code |
<?php
Extract ($_post);
Equivalent to $username = $_post[' username '];
$password = $_post[' password '];
?> |
Array operations
Related examples:
| The code is as follows |
Copy Code |
|
<?php
/* Assume that the $var _array is an array returned by Wddx_deserialize * *
$size = "large";
$var _array = Array ("Color" => "Blue",
"Size" => "medium",
"Shape" => "sphere");
Extract ($var _array, Extr_prefix_same, "WDDX");
echo "$color, $size, $shape, $wddx _sizen";
?> |
The example above will output:
Blue, large, sphere, medium.
The $size is not covered because the extr_prefix_same is specified, which makes the $WDDX _size built. If Extr_skip is specified, the $WDDX _size will not be established. Extr_overwrite will make the value of $size "medium", Extr_prefix_all will create a new variable $wddx _color, $wddx _size and $wddx _shape.
Array 2
. Scope of application: Non-numeric index array, the array has the key value pairs;
2. The variable name created by the function is the keyword in the array, and the value of the variable is the corresponding value in the array;
3. Two optional parameters: Extract_type and prefix;
Where Extract_type specifies the method of handling variable name conflicts by default Extr_overwrite, which means overwriting existing variables.
When the value of the Extract_type is Extr_prefix_all, prefix all the created variables with a prefix of PREFIX parameters;
4. The keyword for the element in the array must be a valid variable name or it will be skipped.
Instance:
array_extract.php:
| The code is as follows |
Copy Code |
|
<title>test Array extract</title>
<body>
<?php
$array = Array (' Key1 ' => ' value1 ', ' key2 ' => ' value2 ', ' Key3 ' => ' value3 ');
Extract ($array);
echo ' default:<br/> ';
echo "$key 1 $key 2 $key 3<br/>";
Skip an element when a conflict occurs
$key 1 = "abc";
Extract ($array, extr_skip);
echo ' skip:<br/> ';
echo "$key 1 $key 2 $key 3<br/>";
Precede all variable names with the values provided by the prefix parameter
Extract ($array, Extr_prefix_all, ' my ');
echo ' prefix_all:<br/> ';
echo "$my _key1 $my _key2 $my _key3<br/>";
?>
</body>
|
is
Convenient?
about this function with an introduction to refer to http://www.111cn.net/phper/24/04ef3db43c8278b93cdd9203999b8352.htm