自定义函数及内部函数

一、变量的作用域

变量的作用域也称变量的范围,变量的范围即它定义的上下文背景(也是它的生效范围)。大部分的PHP变量只有一个单独的范围。这个单独的范围跨度同样包含了include和require引入的文件
相同的变量名称,全局定义和局部定义是两种情况(不掺和),如果想引用全局变量,就使用global或者$GLOBALS['']及其他超全局数组

二、静态变量

静态变量仅在局部函数域中存在,但但程序执行离开此作用域时,其值并不会消失

1、static关键字

①、仅初始化一次
②、初始化时需要赋值
③、每次执行函数该值会保留
④、static修饰的变量是局部的,仅在函数内部有效
⑤、可以记录函数的调用次数,从而可以在某些条件下终止递归

eg:


三、函数的参数

默认情况下,函数参数通过值传递


值传递,函数体内无论怎么修改,echo的结果还是1

如果希望允许函数修改它的值,必须通过引用传递参数

如果想echo函数体的值,就做一个引用传递。对于引用来说,只能传变量

四、函数的返回值

1、值通过使用可选的返回语句(return)返回
2、可以返回包括数组和对象的任意类型
3、返回语句会中止函数执行,将控制权交回函数调用处
4、省略return,返回值为null,不可有多个返回值

五、函数的引用返回

从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用运算符&


六、外部文件的导入

1、include/require语句包含并运行指定文件
2、如果给出路径名按照路径来找,否则从include_path中查找,如果include_path中也没有,则从调用脚本文件所在的目录和当前工作目录下寻找
3、当一个文件被包含时,其中所包含的代码继承了include所在行的变量范围

加载过程中未找到文件则include结构会发出一条警告;这一点和require不同,后者会发出一个致命错误

require在出错时产生(E_COMPILE_ERROR)级别的错误,也就是说(require会导致脚本中止);include只产生警告(E_WARNING),脚本会继续运行

require(include)/require_once(include_once)唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含

七、系统内置函数

1、时间日期函数
date()、strtotime()、time()、mktime()、microtime()、date_default_timezone_set()
2、IP处理函数
ip2long()、long2ip
3、打印处理
print()、printf()、print_r()、echo(可以打印多个)、sprintf()、var_dump()、var_export()
4、序列化和反序列化
serialize()、unserialize()
5、字符串处理函数
implode()、explode()、join()、strrev()、trim()、ltrim()、strstr()等
6、数组处理函数
array_keys()、array_values()、array_diff()、array_merge()、array_shift()、array_pop()、array_push()、sort()等

eg:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天农历生日。一早思考着去哪里过生日,本来计划去远一点的地方吃素,自助餐。这样的计划是基于一种老人家的说法:自己的...
    小颐妈阅读 150评论 0 0
  • 英国作家宝拉·霍金斯写的《火车上的女孩》,这是一本非常有借鉴意义的悬疑类小说,小说完稿后荣获很多大奖,后来还被改编...
    小飞飞就是小菲菲阅读 1,830评论 0 1
  • 亲爱的家人们早上好!今天2018年3月25日,常州天气晴转多云11~23°,财富分享第25天。阿君早分享:很多朋友...
    阿君姐阅读 129评论 0 0
  • 这场失败的表白是我很感兴趣的,但是搜了一下,并没有相关的回答,干脆自己写一篇好了。 《奇葩说第五季》第十七期“人类...
    柔软世界絮絮念阅读 623评论 0 0