设为首页 收藏本站
查看: 990|回复: 0

[经验分享] php学习_第6章_PHP的语言结构

[复制链接]

尚未签到

发表于 2018-12-23 10:38:38 | 显示全部楼层 |阅读模式
--switch(变量)的变量可以整形或字符串(比c,java多了字符串类型。c,java里只能是整形)。  --用switch的情景:比较条件是一个范围的话用ifelse,比较条件是单个值的话用switch。
  --break后面跟数字可以退出多层循环,默认值为1,所以默认退出1层循环.
  --函数可以在声明之前和声明之后调用(和c语言不一样,c语言只能在函数声明之后调用)。
  --关于全局变量

  • 声明方法:在函数外面声明的变量,作用域:从声明的地方起,到脚本结束都有效(不能在声明之前使用)。
  • 如何在函数中使用全局变量:由于php是弱类型语言,所以在函数中写某一变量名,系统分不出是使用全局变量还是声明了一个局部变量,所以在函数中使用全局变量需要用到关键字global。比如global $a;在函数里面即使之前定义了局部变量$a,此后也只使用全局的$a。
  --关于静态变量

  • 声明方法:static $变量名;
  • php语言静态变量只能在函数中声明(与c语言不同,c语言可以声明静态全局变量)。它是保存在数据段中(普通局部变量在栈中,每次调用完都会释放栈中的内容),每次调用函数都可以使用该变量。
  --关于变量函数

  • 变量函数是什么:如果将函数名赋值给某一变量那么就可以通过在变量后面加括号调用该函数。比如:$var = hello; //之前已经定义了函数hello($a,$b),就可以使用$var(3,4)调用hello函数。可以直接把函数名赋值给变量,也可以用字符串包含函数名,赋值给变量。
  • tips:系统发现某个变量后面有括号,将优先找与变量值同名的函数。
  • 用途指向(被赋值)回调函数
  • 什么是回调函数?c语言里,回调函数是由用户撰写,而由操作系统调用的一类函数,回调函数可以把调用者和被调用者分开,调用者(例如操作系统)不需要关心被调用者到底是哪个函数,它 所知道的就是有这么一类函数,这类满足相同的函数签名(函数原型,参数,返回值等),由用户书写完毕后在被调用就可以了。实现上回调函数一般都是通过函数指针来实现的。  典型的回调函数是MFC 下的定时器处理函数ontimer,你只需要添加这个消息响应函数,然后在初始化的时候将ontimer指针传递给操作系统,操作系统就会按照设定好的时间来循环调用ontimer函数了。
      你甚至可以将main函数理解成回调函数,因为它不会被客户程序员调用,只会被客户程序员撰写,然后由操作系统来调用。类似的函数 SDK下的窗口过程函数,也是回调函数。
  • 回调函数有什么用?回调函数可以把调用者和被调用者分开调用者(例如操作系统)不需要关心被调用者到底是哪个函数,它 所知道的就是有这么一类函数,这类满足相同的函数签名(函数原型,参数,返回值等),由用户书写完毕后在被调用就可以了。
  --带有&参数的函数,函数的实参不能为数值,必须是个占内存空间的量(比如变量)
  --如何建立参数个数为不确定的函数
  php默认支持函数的实参比形参多,如何获得这些多出来的实参呢?依靠func_get_args()可以获得所有实参,再把这些实参赋值给一个数组。
  比如$args = func_get_args();
  其他获取实参的函数:
  func_num_args()获取参数的个数;
  func_get_arg($i),i=0,返回第1个参数。
  --内部函数:在一个函数内部声明的函数(c语言不支持在函数内声明函数),这样声明的目的是说明这个函数只在本函数内调用,实际很少用。
  --递归函数的用途:经常用来统计目录个数,文件个数。
  --路径分隔符:php及linux中,路径分隔符统统用正斜杠"/"(与windows不同),反斜杠一般用来表示转义
  --php的系统指令有两种用法:

  • 直接加引号,比如echo "输出内容";
  • 按函数的样式使用,比如echo("输出内容");
  常见的系统指令有:echo,include,require,exit,array等。
  --关于文件包含

  • 用途:定义自己的函数库。(把多个文件都需要访问的函数定义在一个文件中,其他文件包含该文件即可)
  • 方式:用include,require,include_once,require_once。
  • 什么时候用带once的:为了避免函数被重复定义,如果文件包含关系复杂时,用带once的。如果清楚文件间的包含关系,尽量用不带once的(因为进行once检查需要一定时间,降低性能)
  • 文件包含的本质:文件包含,可以包含php文件,也可以包含其他任意文本文件(比如.html文件,.txt文件)。包含时并不是真正的文件内容拷贝,对于php代码采取直接拷贝,对于其他内容采用把内容包含在echo中输出(输出这些内容)。
  • include和require的区别:require是静态包含,include是动态包含。所谓动态包含是指,按某个条件包含某文件(比如执行if语句,满足一个条件包含a文件,如果不满足则包含b文件)。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-654726-1-1.html 上篇帖子: [PHP] 转载 PHP接口示例程序 下篇帖子: PHP学习笔记-->006 PHP数组
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表