在php中,include和require的作用比较容易混淆。下面我以一个经典例子来深刻说明它们的区别。

当我们经常访问一个数据库时,可以把连库语句写成一个文件

con_db.php3

$dbh =  mysql_connect('localhost','','');

mysql_select_db('admreqs');

http://www.gaodaima.com/45400.htmlrequire和include经典一例抛析_php

?>

在实际应用时,我们可以在程序中调用这个文件。

如require("con_db.php3")或include("con_db.php3)

这时,两个函数的效果是差不多的。

但如果这样用

filename.php3

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包括它们就可以了。

欢迎大家阅读《require和include经典一例抛析_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

微信 赏一包辣条吧~

支付宝 赏一听可乐吧~

require mysql.php_require和include经典一例抛析_php相关推荐

  1. 求一批整数中出现最多的个位数字_C语言经典100例007-求低n-1位的数

    系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...

  2. 北京邮电大学c语言按要求输出_C语言经典100例004-统计各个年龄阶段的人数

    系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...

  3. python经典100例(41-60)

    python 经典100例(41-60) ''' [程序41] 题目:学习static定义静态变量的用法 1.程序分析: 2.程序源代码: ''' # python没有这个功能了,只能这样了:) de ...

  4. C 语言经典100例(91-100)

    所有题目来源:菜鸟教程C 语言经典100例 附上前面的题目:C 语言经典100例(81-90) 目录 C 练习实例91 C 练习实例92 C 练习实例93 C 练习实例94 C 练习实例95 C 练习 ...

  5. 《PHP、MySQL和Apache入门经典(第5版)》一2.11 实践练习

    本节书摘来自异步社区<PHP.MySQL和Apache入门经典(第5版)>一书中的第2章,第2.11节,作者[美]Julie C. Meloni,更多章节内容可以访问云栖社区"异 ...

  6. linus启动mysql失败_Linux下MySQL启动失败的解决一例

    Linux下MySQL启动失败的解决一例: 当敲mysql命令时 Can't connect to local MySQL server through socket '/var/lib/mysql/ ...

  7. MySQL UPDATE 语句一个“经典”的坑

    转载自  MySQL UPDATE 语句一个"经典"的坑 来源:ju.outofmemory.cn/entry/336774 有问题的SQL语句 why? 倒回去再重试验一把 最近 ...

  8. python 经典100例 (61-80)

    python 经典100例(61-80) ''' [程序61] 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: ''' if __name__ == '__main__': a = ...

  9. python入门经典27版_【python】编程语言入门经典100例--27

    [python]编程语言入门经典100例--27 发布时间:2020-02-27 20:35:50 来源:51CTO 阅读:520 作者:snc_snc 1 #题目:利用递归函数调用方式,将所输入的5 ...

最新文章

  1. docker删除镜像命令_第三章 Docker常用命令之镜像命令
  2. java 百分比相加_2019年Java面试题基础系列228道(5),快看看哪些你还不会?
  3. 【转】体验 Silverlight 5 3D开发之环境搭配篇
  4. docker -v 覆盖了容器中的文件_10分钟让你理解 docker 容器中的 uid 和 gid
  5. RHEL7 yum源配置
  6. nodejs内存溢出
  7. 2)机器学习基石笔记Lecture2:Learning to Answer Yes/No
  8. BZOJ 4753 二分+树形DP
  9. Jquery获取iframe中的元素
  10. CCF201409-3 字符串匹配(解法二)(100分)(废除!!!)
  11. Jetty报ArrayIndexOutBoundsException:30305的解决方案
  12. Linux安装DVWA
  13. 古力乐简易网址导航综合搜索引擎站html源码
  14. bzoj5470 / P4578 [FJOI2018]所罗门王的宝藏//(尚未修正)
  15. 苹果唯冠商标战对iPad3的影响:iPad3太TM贵,肾都不够卖了!
  16. Python 使用乐动体育的 backoff 更优雅的实现轮询
  17. 解决 Component inside <Transition> renders non-element root node that cannot be animated 问题
  18. 洛谷P5072 [YNOI2015]盼君勿忘 莫队+unordered_set+毒瘤卡常
  19. Java list转tree,tree转list(递归实现)
  20. python算法工程师面试_算法工程师的面试经历及总结

热门文章

  1. Python升级后ssl模块不可用问题解决和浅析
  2. 赛道一双周冠军分享:我不是TFboy,所以新写了baseline
  3. 【王牌选手分享】一发问鼎!鹅厂大神上分思路,助你玩转初赛!
  4. java体系的中间件适用于go吗_golang gf框架自定义中间件实现管理界面授权
  5. 漫谈广告竞价模式(四)
  6. 环形单链表的约瑟夫问题
  7. Leetcode每日一题:142.linked-list-cycle-ii(环形链表Ⅱ)
  8. Keil5配置GCC编译器编译STM32工程
  9. Logstash+Kibana+多ElasticSearch集群部署
  10. TaskBarProgress(任务栏进度条)