Home Backend Development PHP Tutorial extract function in php_PHP tutorial

extract function in php_PHP tutorial

Jul 13, 2016 am 10:30 AM
web development Enterprise security information Technology security software database mobile development system security Website security cyber security network technology software development

The extract function is used to decompose a number into multiple variables for direct use. The following is the W3C's explanation: The PHP extract() function imports variables from an array into the current symbol table. For each element in the array, the key name is used for the variable name and the key value is used for the variable value. The second parameter type is used to specify how the extract() function treats such conflicts when a variable already exists and there is an element with the same name in the array. This function returns the number of successfully set variables.

The following table is parameter description:
Grammar
extract(array,extract_rules,prefix)
Parameters Description
array Required. Specifies the input to use.
extract_rules
Optional. The extract() function will check whether each key name is a legal variable name, and also checks whether it conflicts with the variable name in the symbol table.
The handling of illegal, numeric and conflicting key names will be determined based on this parameter. Can be one of the following values:
Possible values:
EXTR_OVERWRITE - Default. If there is a conflict, existing variables are overwritten.
EXTR_SKIP - Do not overwrite existing variables if there is a conflict. (Ignore elements with the same name in the array)
EXTR_PREFIX_SAME - Prefix the variable name with prefix if there is a conflict. As of PHP 4.0.5, this also includes handling of numeric indexes.
EXTR_PREFIX_ALL - Prefix all variable names with prefix (third parameter).
EXTR_PREFIX_INVALID - Prefix only illegal or numeric variable names with prefix. This tag is newly added in PHP 4.0.5.
EXTR_IF_EXISTS - Only overwrite the values ​​of variables with the same name if they already exist in the current symbol table. Others are not processed. It can be used when a set of legal variables has been defined, and then you want to overwrite these variables by extracting values ​​from an array such as $_REQUEST. This tag is newly added in PHP 4.2.0.
EXTR_PREFIX_IF_EXISTS - Only when a variable with the same name already exists in the current symbol table, a variable name with a prefix is ​​created, and nothing else is processed. This tag is newly added in PHP 4.2.0.
EXTR_REFS - Extract variables as references. This is a strong indication that the imported variable still references the value of the var_array parameter. This flag can be used alone or in combination with any other flag using OR in extract_type. This tag is newly added in PHP 4.3.0.
prefix
Optional. Note that prefix is ​​only required if the value of extract_type is EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID or EXTR_PREFIX_IF_EXISTS. If the result after appending the prefix is ​​not a legal variable name, it will not be imported into the symbol table.
An underscore is automatically added between the prefix and the array key name.
This is very useful when getting a row of data from the database. Let’s take a look at the following example
Copy code
$db = mysql_connect('localhost','root','Ctrip07185419') or die('can not connect to mysql');
mysql_select_db('moviesite',$db) or die(mysql_error($db));
mysql_query('set names gbk',$db);
if(isset($_GET['action']) && $_GET['action'] == 'edit')
{
$query = 'SELECT movie_name,movie_type,movie_year,movie_leadactor,movie_director FROM movie WHERE movie_id='.$_GET['id'];
//echo $query;
$result = mysql_query($query, $db) or die(mysql_error($db));
extract(mysql_fetch_assoc($result));
}
else
{
$movie_name='';
$movie_type=0;
$movie_year=date('Y');
$movie_leadactor=0;
$movie_director=0;
}
?>
<?php echo ucfirst($_GET['action']);?> Movie
                                                                                   
           
                    Movie Name
                   
               
               
                    Movie Type
                   
               
               
                    Movie Year
                   
               
               
                    Lead actor
                   
               
               
                    Director
                   
               
               
                   
                       
                        if('edit' == $_GET['action'])
                        {
                            echo '';
                        }
                        ?>
                       
                   
               
           
       
   
复制代码
 
 
注意标红的语句,在使用extract之后可以直接使用变量,并且变量的名字是字段名字,变量的值是字段的值,这个有点类似于ado.net中从DataReader或DataSet中取得数据的方法Movie.Name = DataSet.Table[o].Row[i]["Name "].ToString()  Movie.Name=reader["Name "].ToString();

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/766055.htmlTechArticleextract函数用来将一个数字分解成多个变量直接使用,下面是W3C的解释:PHP extract() 函数从数组中把变量导入到当前的符号表中。对于数组中...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1673
14
PHP Tutorial
1278
29
C# Tutorial
1257
24
iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos Jul 18, 2024 am 05:48 AM

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

How to save JSON data to database in Golang? How to save JSON data to database in Golang? Jun 06, 2024 am 11:24 AM

JSON data can be saved into a MySQL database by using the gjson library or the json.Unmarshal function. The gjson library provides convenience methods to parse JSON fields, and the json.Unmarshal function requires a target type pointer to unmarshal JSON data. Both methods require preparing SQL statements and performing insert operations to persist the data into the database.

MySQL: Simple Concepts for Easy Learning MySQL: Simple Concepts for Easy Learning Apr 10, 2025 am 09:29 AM

MySQL is an open source relational database management system. 1) Create database and tables: Use the CREATEDATABASE and CREATETABLE commands. 2) Basic operations: INSERT, UPDATE, DELETE and SELECT. 3) Advanced operations: JOIN, subquery and transaction processing. 4) Debugging skills: Check syntax, data type and permissions. 5) Optimization suggestions: Use indexes, avoid SELECT* and use transactions.

PHP Database Connection Pitfalls: Avoid Common Mistakes and Misunderstandings PHP Database Connection Pitfalls: Avoid Common Mistakes and Misunderstandings Jun 05, 2024 pm 10:21 PM

To avoid PHP database connection errors, follow best practices: check for connection errors and match variable names with credentials. Use secure storage or environment variables to avoid hardcoding credentials. Close the connection after use to prevent SQL injection and use prepared statements or bound parameters.

PHP's Current Status: A Look at Web Development Trends PHP's Current Status: A Look at Web Development Trends Apr 13, 2025 am 12:20 AM

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

HTML, CSS, and JavaScript: Essential Tools for Web Developers HTML, CSS, and JavaScript: Essential Tools for Web Developers Apr 09, 2025 am 12:12 AM

HTML, CSS and JavaScript are the three pillars of web development. 1. HTML defines the web page structure and uses tags such as, etc. 2. CSS controls the web page style, using selectors and attributes such as color, font-size, etc. 3. JavaScript realizes dynamic effects and interaction, through event monitoring and DOM operations.

The Future of HTML, CSS, and JavaScript: Web Development Trends The Future of HTML, CSS, and JavaScript: Web Development Trends Apr 19, 2025 am 12:02 AM

The future trends of HTML are semantics and web components, the future trends of CSS are CSS-in-JS and CSSHoudini, and the future trends of JavaScript are WebAssembly and Serverless. 1. HTML semantics improve accessibility and SEO effects, and Web components improve development efficiency, but attention should be paid to browser compatibility. 2. CSS-in-JS enhances style management flexibility but may increase file size. CSSHoudini allows direct operation of CSS rendering. 3.WebAssembly optimizes browser application performance but has a steep learning curve, and Serverless simplifies development but requires optimization of cold start problems.

JavaScript: Exploring the Versatility of a Web Language JavaScript: Exploring the Versatility of a Web Language Apr 11, 2025 am 12:01 AM

JavaScript is the core language of modern web development and is widely used for its diversity and flexibility. 1) Front-end development: build dynamic web pages and single-page applications through DOM operations and modern frameworks (such as React, Vue.js, Angular). 2) Server-side development: Node.js uses a non-blocking I/O model to handle high concurrency and real-time applications. 3) Mobile and desktop application development: cross-platform development is realized through ReactNative and Electron to improve development efficiency.

See all articles