从这里我开始聊一些php相关的东西了,因为视频教程里并没有讲到过多的JS,JQ,XML和AJAX,这些在后续自学之后再写一些;

  有关php的基本语法数据类型什么的就不做介绍了,在PHP手册或各大学习网站都有,可以自行查阅,这一章主要讲关于PHP的一些函数方面的一些细节;

  require和require_once的区别,当使用require引入函数时,不管之前是否有引入相同函数文件依旧引入,而require_once会在引入函数文件之前进行判断之前是否引入过相同函数文件,如果引入过了就不再引入,如今常用的是require_once,一来是可以节省资源,二来是可以避免重复定义的错误;

  include和includ_once的区别和上述一样;

  include和require的区别,当使用include引入文件出错时将继续执行后面的代码,而require出现错误时将终止执行,include_once和require_once同理;

  每当PHP遇到执行函数,则会在内存开辟新栈,各个栈之间的变量都是相互独立的。

  

  这段代码,最后的输出结果就是   2  2  3 ,当abc函数被调用则开辟一个新栈;n=4,满足条件n>2,执行--n(在这个栈中n=3);又被abc函数调用开辟新栈,n=3,满足条件n>2,执行--n(在这个栈中n=2);又被abc函数调用开辟新栈,n=2,不满足n>2,所以没有执行--n,直接执行echo $n(这里n=2),之后执行完返回上一级,继续执行echo  $n(这里的n=2),执行完返回上一级,继续执行echo  $n(这里n=3);其实可以这么理解,代码是从上往下执行的,因为这个ehco是不在判断语句之内的,所以不管if语句是否生效都会执行,只是因为在if语句内又被调用了函数,所以要当上层的代码执行完之后再执行下面的echo语句;我不知道这么讲会不会比较难理解,这些都是我通过学习自己总结出来的一些,和老师讲的可能会有一些不一样,如有错误希望大佬们指出。

  这里有一点小细节,每当一个函数被调用执行完返回之后会清除该函数在栈区所占用的空间;

  如果在函数中我们不希望使用某个变量,可以使用unset(变量名);彻底删除某个变量;

  PHP默认是传值,如果是需要传址,使用地址符 “ & + 变量名 " ;

最新文章

  1. List Set Map
  2. css定位学习经验记录
  3. STM32 DAC的配置与使用
  4. eclipse emacs
  5. Java开发中经典的小实例-(100能被3整除的数打印出来)
  6. 去除Input输入框中边框的方式
  7. 浅谈React受控与非受控组件
  8. 一台服务器搭载两个tomcat项目
  9. HtmlAgilityPack 之 HtmlNode类
  10. s实现指定时间自动跳转到某个页面
  11. BUG修改纪录
  12. [FJSC2014]异或之
  13. IOS单例模式(Singleton)
  14. Jvm垃圾回收堆内存变化过程
  15. jQuery(3)——DOM操作
  16. HighGUI图形图像界面初步——滑动条的创建和使用
  17. Beta冲刺Day5
  18. sql server 临时表(上) Tempdb概述
  19. LeeCX - 开源后台管理系统简单介绍
  20. Nginx 设置负载均衡

热门文章

  1. vue-留言板-bootstrap
  2. PIC EEPROM问题
  3. C# 重命名文件方法
  4. JA document的练习
  5. URL编码及解码
  6. Project Euler 25 1000-digit Fibonacci number
  7. [luogu P2756 ] 飞行员配对方案问题 (最大流)
  8. Rmq Problem mex
  9. CSS中选择器优先级的权重计算
  10. IP实时传输协议RTP/RTCP详解