快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

require和include经典一例抛析

    在php中,include和require的作用比较轻易混淆。下面我以一个经典例子来深刻说明它们的区别。
    当我们常常访问一个数据库时,可以把连库语句写成一个文件
con_db.php3
<?php
    $dbh =  mysql_connect(\\'localhost\\',\\'\\',\\'\\');
    mysql_select_db(\\'admreqs\\');
?>
在实际应用时,我们可以在程序中调用这个文件。
如require("con_db.php3")或include("con_db.php3)
这时,两个函数的效果是差不多的。
但假如这样用
filename.php3
<?php
require("con_db.php3")
function myfun($par1,$par2)
{包含对数据库处理的语句}
.....
myfun($par1,$par2);
.....
myfun($p1,$p2);
?>
文件到myfun处将不能继承执行,因为函数里无法得到外面的变量(include也是相同的)。除非把$dbh作为一个变量传给函数。这又增加了调用函数的复杂度。
我们可以通过把require或include放在函数里面来解决这个问题。
假如用include,文件的第一个函数调用处将顺利通过,但第二个调用将无法执行,原因是不能在没有关闭数据库时在打开一次,也就是说,con_db.php3执行了两次。将include换成require,一切都正常。
    也就是说,require类似于一次预扫描,在程序执行时,无论在函数里或是函数外,都将先把require的文件执行,且只执行一次。而include则是每执行一次就调用一次文件,即这次执行后,下次再执行执行到这里,仍将再执行一次。
    因此,假如在一个循环中,某些语句你只想执行一次,那你用require包括它们就可以了。



返回类别: 教程
上一教程: PHP使用者状态治理功能的应用
下一教程: 基于PHP+MySQL的聊天室设计

您可以阅读与"require和include经典一例抛析"相关的教程:
· 通过Include和Require函数实现代码重用
· 在PHP中include和require到底有什么区别呢?看这里的例子就知道了
· include()与require()的对比
· require()和include()的区别-摘自网猴
· 用PHP实现ODBC数据分页显示一例
    微笑服务 优质保证 索取样品