PHP Tutorial

PHP HOME PHP Intro PHP Install PHP Syntax PHP Comments PHP Variables PHP Echo / Print PHP Data Types PHP Strings PHP Numbers PHP Constants PHP Operators PHP If...Else...Elseif PHP Switch PHP Loops PHP Functions PHP Arrays PHP Superglobals

PHP Forms

PHP Form Handling PHP Form Validation PHP Form Required PHP Form URL/E-mail PHP Form Complete

PHP Advanced

PHP Date and Time PHP Include PHP File Handling PHP File Open/Read PHP File Create/Write PHP File Upload PHP Cookies PHP Sessions PHP Filters PHP Filters Advanced PHP JSON


PHP What is OOP PHP Classes/Objects PHP Constructor PHP Destructor PHP Access Modifiers PHP Inheritance PHP Constants PHP Abstract Classes PHP Traits PHP Static Methods PHP Static Properties

MySQL Database

MySQL Database MySQL Connect MySQL Create DB MySQL Create Table MySQL Insert Data MySQL Get Last ID MySQL Insert Multiple MySQL Prepared MySQL Select Data MySQL Where MySQL Order By MySQL Delete Data MySQL Update Data MySQL Limit Data


PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM



PHP Examples

PHP Examples PHP Quiz PHP Exercises PHP Certificate

PHP Reference

PHP Overview PHP Array PHP Calendar PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP JSON PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP Network PHP SimpleXML PHP Stream PHP String PHP Variable Handling PHP XML Parser PHP Zip PHP Timezones

PHP extract() Function

❮ PHP Array Reference


Assign the values "Cat", "Dog" and "Horse" to the variables $a, $b and $c:

$a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
echo "\$a = $a; \$b = $b; \$c = $c";
Try it Yourself »

Definition and Usage

The extract() function imports variables into the local symbol table from an array.

This function uses array keys as variable names and values as variable values. For each element it will create a variable in the current symbol table.

This function returns the number of variables extracted on success.


extract(array, extract_rules, prefix)

Parameter Values

Parameter Description
array Required. Specifies the array to use
extract_rules Optional. The extract() function checks for invalid variable names and collisions with existing variable names. This parameter specifies how invalid and colliding names are treated.

Possible values:

  • EXTR_OVERWRITE - Default. On collision, the existing variable is overwritten
  • EXTR_SKIP - On collision, the existing variable is not overwritten
  • EXTR_PREFIX_SAME - On collision, the variable name will be given a prefix
  • EXTR_PREFIX_ALL - All variable names will be given a prefix
  • EXTR_PREFIX_INVALID - Only invalid or numeric variable names will be given a prefix
  • EXTR_IF_EXISTS - Only overwrite existing variables in the current symbol table, otherwise do nothing
  • EXTR_PREFIX_IF_EXISTS - Only add prefix to variables if the same variable exists in the current symbol table
  • EXTR_REFS - Extracts variables as references. The imported variables are still referencing the values of the array parameter
prefix Optional. If EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID or EXTR_PREFIX_IF_EXISTS are used in the extract_rules parameter, a specified prefix is required.

This parameter specifies the prefix. The prefix is automatically separated from the array key by an underscore character.

Technical Details

Return Value: Returns  the number of variables extracted on success
PHP Version: 4+
PHP Changelog: The extract_rules value EXTR_REFS was added in PHP 4.3.

The extract_rules values EXTR_IF_EXISTS and EXTR_PREFIX_IF_EXISTS were added in PHP 4.2.

As of PHP 4.0.5, this function now returns the number of variables extracted.

The extract_rules value EXTR_PREFIX_INVALID was added in PHP 4.0.5.

As of PHP 4.0.5, the extract_rules value EXTR_PREFIX_ALL now includes numeric variables as well.

More Examples


Using all parameters:

$a = "Original";
$my_array = array("a" => "Cat", "b" => "Dog", "c" => "Horse");

extract($my_array, EXTR_PREFIX_SAME, "dup");

echo "\$a = $a; \$b = $b; \$c = $c; \$dup_a = $dup_a";
Try it Yourself »

❮ PHP Array Reference