Home  >  Article  >  Backend Development  >  Extract function application in php_PHP tutorial

Extract function application in php_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:27:56775browse

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)

 Parameter 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 - If there is a conflict, do not overwrite existing variables. (Ignore elements with the same name in the array)

 EXTR_PREFIX_SAME - If there is a conflict, prefix the variable name with prefix. 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

                                                                                 

           

                                                                                                                                                 

& lt; td & gt; & lt; input type = "text" name = "movie_name" value = "& lt;? Php echo $ movie_name;? & Gt;"/& gt;/td & gt & gt & ;

           

           

                    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/814674.htmlTechArticleextract函数用来将一个数字分解成多个变量直接使用,下面是W3C的解释:PHP extract() 函数从数组中把变量导入到当前的符号表中。对于数组中...
Statement:
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