Converting Between Arrays and Variables
PHP provides two functions,
extract( )
and compact( ), that convert between arrays and variables. The names of
the variables correspond to keys in the array, and the values of the
variables become the values in the array. For instance, this array:
$person = array('name' => 'Fred', 'age' => 35, 'wife' => 'Betty');can be converted to, or built from, these variables:
$name = 'Fred'; $age = 35; $wife = 'Betty';
Creating Variables from an Array
The extract( ) function automatically creates
local variables from an array. The indexes of the array elements are
the variable names:
extract($person); // $name, $age, and $wife are now set
If a variable created by the extraction has the same name as an existing one, the extracted variable overwrites the existing variable.
You can modify extract( )’s
behavior by passing a second argument. Appendix A
describes the possible values for this second argument. The most
useful value is EXTR_PREFIX_SAME, which says that
the third argument to extract( ) is a prefix for
the variable names that are created. This helps ensure that you
create unique variable names when you use extract( ). It is good PHP style to always use
EXTR_PREFIX_SAME, as shown here:
$shape = "round";
$array = array("cover" => "bird", "shape" => "rectangular");
extract($array, EXTR_PREFIX_SAME, "book");
echo "Cover: $book_cover, Book Shape: $book_shape, Shape: $shape";
Cover: bird, Book Shape: rectangular, Shape: roundCreating an Array from Variables ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access