返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP中使用extract函数
  • 135
分享到

PHP中使用extract函数

2024-04-02 19:04:59 135人浏览 安东尼
摘要

PHP中的extract函数 extract函数用来将一个数字分解成多个变量直接使用,下面是W3C的解释:php extract() 函数从数组中把变量导入到当前的符号表中。对于数组

PHP中的extract函数

extract函数用来将一个数字分解成多个变量直接使用,下面是W3C的解释:php extract() 函数从数组中把变量导入到当前的符号表中。对于数组中的每个元素,键名用于变量名,键值用于变量值。第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。本函数返回成功设置的变量数目。

下面表格是参数说明:

语法

extract(array,extract_rules,prefix)

参数 描述
array 必需。规定要使用的输入。
extract_rules

可选。extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中的变量名是否冲突。

对非法、数字和冲突的键名的处理将根据此参数决定。可以是以下值之一:

可能的值:

  • EXTR_OVERWRITE - 默认。如果有冲突,则覆盖已有的变量。
  • EXTR_SKIP - 如果有冲突,不覆盖已有的变量。(忽略数组中同名的元素)
  • EXTR_PREFIX_SAME - 如果有冲突,在变量名前加上前缀 prefix。自 PHP 4.0.5 起,这也包括了对数字索引的处理。
  • EXTR_PREFIX_ALL - 给所有变量名加上前缀 prefix(第三个参数)。
  • EXTR_PREFIX_INVALID - 仅在非法或数字变量名前加上前缀 prefix。本标记是 PHP 4.0.5 新加的。
  • EXTR_IF_EXISTS - 仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。可以用在已经定义了一组合法的变量,然后要从一个数组例如 $_REQUEST 中提取值覆盖这些变量的场合。本标记是 PHP 4.2.0 新加的。
  • EXTR_PREFIX_IF_EXISTS - 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。本标记是 PHP 4.2.0 新加的。
  • EXTR_REFS - 将变量作为引用提取。这有力地表明了导入的变量仍然引用了 var_array 参数的值。可以单独使用这个标志或者在 extract_type 中用 OR 与其它任何标志结合使用。本标记是 PHP 4.3.0 新加的。
prefix

可选。请注意 prefix 仅在 extract_type 的值是 EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 时需要。如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。

前缀和数组键名之间会自动加上一个下划线。

这个在从数据库中取得一行数据的时候很好用,我们来看下面的例子


<?php 
$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;
}
?>
<html>
    <head>
        <title><?php echo ucfirst($_GET['action']);?> Movie</title>
        <style type="text/CSS"></style>
    </head>
    <body> 
        <fORM action="commit.php?action=<?php echo $_GET['action'];?>&type=movie" method="post"> 
            <table>
                <tr>
                    <td>Movie Name</td>
                    <td><input type="text" name="movie_name" value="<?php echo $movie_name;?>"/></td>
                </tr>
                <tr>
                    <td>Movie Type</td>
                    <td><select name="movie_type" id="">
                    <?php 
                        $query = 'select movietype_id,movietype_label from movietype order by movietype_label';
                        $result = mysql_query($query , $db) or die(mysql_error($db));
                        while($row = mysql_fetch_assoc($result))
                        {
                            if($row['movietype_id'] == $movie_type)
                            {
                                echo '<option value="'.$row["movietype_id"].'" selected="selected">'.$row["movietype_label"].'</option>';
                            }
                            else
                            {
                                echo '<option value="'.$row["movietype_id"].'">'.$row["movietype_label"].'</option>';
                            }
                        }
                    ?>
                    </select></td>
                </tr>
                <tr>
                    <td>Movie Year</td>
                    <td><select name="movie_year" id="">
                    <?php 
                        for($yr = date('Y');$yr>1970;$yr--)
                        {
                            if($yr == $movie_year)
                            {
                                echo '<option value="'.$yr.'" selected="selected">'.$yr.'</option>';
                            }
                            else
                            {
                                echo '<option value="'.$yr.'">'.$yr.'</option>';
                            }
                        }
                    ?>
                    </select></td>
                </tr>
                <tr>
                    <td>Lead actor</td>
                    <td><select name="movie_leadactor" id="">
                    <?php 
                        $query = 'select people_id,people_fullname from people where people_isactor = 1 order by people_fullname';
                        $result = mysql_query($query,$db) or die(mysql_error($db));
                        while($row = mysql_fetch_assoc($result))
                        {
                            if($row["people_id"] == $movie_leadactor)
                            {
                                echo '<option value="'.$row["people_id"].'" selected="selected">'.$row["people_fullname"].'</option>';
                            }
                            else
                            {
                                echo '<option value="'.$row["people_id"].'">'.$row["people_fullname"].'</option>';
                            }
                            
                        }
                    ?>
                    </select></td>
                </tr>
                <tr>
                    <td>Director</td>
                    <td><select name="movie_director" id="">
                    <?php
                        $query = 'select * from people where people_isdirector=1 order by people_fullname';
                        $result = mysql_query($query , $db) or die(mysql_error($db));
                        while($row = mysql_fetch_assoc($result))
                        {
                            if($row['people_id'] == $movie_director)
                            {
                                echo '<option value="'.$row['people_id'].'" selected="selected">'.$row["people_fullname"].'</option>';
                            }
                            else
                            {
                                echo '<option value="'.$row['people_id'].'">'.$row["people_fullname"].'</option>';
                            }
                        }
                    ?>
                    </select></td>
                </tr>
                <tr>
                    <td colspan="2" style="text-align:center">
                        <?php 
                        if('edit' == $_GET['action'])
                        {
                            echo '<input type="hidden" value="'.$_GET["id"].'" name="movie_id"/>';
                        }
                        ?>
                        <input type="submit" name="submit" value="<?php echo ucfirst($_GET['action']);?>"/>
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

注意标红的语句,在使用extract之后可以直接使用变量,并且变量的名字是字段名字,变量的值是字段的值,这个有点类似于ado.net中从DataReader或DataSet中取得数据的方法Movie.Name = DataSet.Table[o].Row[i]["Name "].ToString() Movie.Name=reader["Name "].ToString();

相比较之下php中的这个extract方式是不是比较的简单直接呢??

到此这篇关于PHP中使用extract函数的文章就介绍到这了,更多相关PHP extract函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: PHP中使用extract函数

本文链接: https://lsjlt.com/news/130008.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP中使用extract函数
    php中的extract函数 extract函数用来将一个数字分解成多个变量直接使用,下面是W3C的解释:PHP extract() 函数从数组中把变量导入到当前的符号表中。对于数组...
    99+
    2024-04-02
  • PHP中extract()函数如何使用
    这篇文章将为大家详细讲解有关PHP中extract()函数如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。form.html< form action=&qu...
    99+
    2023-06-17
  • EXTRACT() 函数如何使用
    今天就跟大家聊聊有关EXTRACT() 函数如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。--EXTRACT() 函数用于提取日期/时间的单...
    99+
    2024-04-02
  • PHP 中extract()函数的作用是什么
    这篇文章给大家介绍PHP 中extract()函数的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:'' ASP/VBScript Dictionary extract' Au...
    99+
    2023-06-08
  • PHP中的extract()函数的示例分析
    这篇文章主要介绍了PHP中的extract()函数的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php的框架有哪些php的框架:1、Laravel,Laravel是...
    99+
    2023-06-14
  • MySQL EXTRACT() 函数中可以使用哪些复合单元?
    MySQL EXTRACT() 函数可以使用以下复合单位 -SECOND_MICROSECONDMINUTE_MICROSECONDHOUR_MICROSECONDDAY_MICROSECONDMINUTE_SECONDHOUR_SECON...
    99+
    2023-10-22
  • oracle extract函数的作用是什么
    Oracle的EXTRACT函数用于从日期时间值中提取特定部分的值,例如年、月、日、小时、分钟等。EXTRACT函数的语法如下: E...
    99+
    2024-04-09
    oracle
  • oracle extract函数的用法是什么
    Oracle的EXTRACT函数用于从日期/时间表达式中提取指定的部分,比如年、月、日、小时、分钟等。其基本语法如下: EXTRAC...
    99+
    2024-04-09
    oracle
  • sql extract函数的作用是什么
    SQL的EXTRACT函数用于从日期或时间值中提取特定部分,例如年份、月份、日期、小时等。它可以帮助用户根据需要从日期时间值中获取所...
    99+
    2024-04-09
    sql
  • sql extract函数的用法是什么
    在SQL中,EXTRACT函数用于提取日期或时间的特定部分,例如年份、月份、日等。其语法如下: EXTRACT(field FROM...
    99+
    2024-04-09
    sql
  • 在 PHP 中使用 sleep() 函数
    本文将介绍 PHP 中 sleep 功能的实际实现。PHP 中的 sleep() 函数PHP 的 sleep() 函数用于将执行延迟指定时间。它接受一个将时间作为整数而不是负值的参数。该函数在成功时返回 0...
    99+
    2024-02-27
  • 在 PHP 中使用 ODBC 函数
    本文将介绍如何在 PHP 中使用 ODBC 及其功能。 在 PHP 中使用 ODBC 函数 开放式数据库连接 (ODBC) 是一种 API,可让我们从各种数据库应用程序访问数据库。我们也可以将 ...
    99+
    2024-02-27
  • PHP中如何使用数组函数
    PHP中如何使用数组函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。array_multisort()对多个数组或多维数组进行排序可以用来一次对多个数组进行排序或者根据某一维...
    99+
    2023-06-17
  • PHP中 mysqli_embedded_server_start函数如何使用
    今天就跟大家聊聊有关PHP中 mysqli_embedded_server_start函数如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。定义...
    99+
    2024-04-02
  • php中 parse_url 函数如何使用
    php中 parse_url 函数如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。parse_url : 解析URL并返回其组成部分描述...
    99+
    2024-04-02
  • php中如何使用rand()函数
    这篇文章主要介绍了php中如何使用rand()函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。@session_start(); &nbs...
    99+
    2024-04-02
  • PHP中如何使用easter_days()函数
    这篇文章将为大家详细讲解有关PHP中如何使用easter_days()函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最常用的开发环境。二...
    99+
    2023-06-14
  • php中fgets函数怎么使用
    这篇文章主要讲解了“php中fgets函数怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中fgets函数怎么使用”吧!在php中,fgets函数用于读取指定文件的一行并返回读取...
    99+
    2023-06-22
  • php中sprintf函数如何使用
    这篇文章主要介绍了php中sprintf函数如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。sprintf函数此函数使用方法和printf一样,唯一不同的就是该函数把格...
    99+
    2023-06-17
  • PHP中strtotime函数如何使用
    这篇文章给大家介绍PHP中strtotime函数如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在PHP中有个叫做strtotime的函数。strtotime 实现功能:获取某个日期的时间戳,或获取某个时间的时间...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作