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

[经验分享] PHP整理笔记六自定义函数

[复制链接]

尚未签到

发表于 2018-12-13 13:09:35 | 显示全部楼层 |阅读模式
一.标准函数

标准的PHP发行包中有1000多个标准函数,这些标准函数都是系统内置的,不需要用户自己创建而可以直接使用。

  
  
二.自定义函数
  
PHP内置函数允许和文件进行交互、使用数据库、创建图形,还可以连接其他的服务器。但是,在实际工作中,有许多时候所需要的东西是语言的创建者无法预见到的。
声明一个函数可以让我们想内置函数那样使用自己的代码。只要简单地调用这个函数并提供给它必须的参数。这就意味着,在整个脚本中,都可以调用和多次重复使用相同的函数。

创建函数

  
调用函数


函数命名
1.函数名不能和已有的函数名重名。
2.函数名只能包含字母、数字和下划线。
3.函数名不能以数字开头。

包含参数无返回的函数调用


包含参数有返回的函数调用:使用return()语句可以向函数调用者返回任意确定值,将程序控制权返回到调用者的作用域。


包含默认参数的函数调用:可以为输入参数指定默认值,在没有提供其他值的情况下,就会把这个默认值自动赋给该参数。


返回多个值的函数调用:可以通过返回一个数组然后使用list()函数构造即可。


包含引用传参的函数调用:引用传递可以在函数内对参数的修改在函数范围外也能反应。

  
请注意,函数调用将不区分大小写,所以调用functionname()、FunctionName()或FUNCTIOINNAME()都是有效的,而且都将返回相同的结果。为了方便,这里都用小写。
注意到函数名称和变量名称是不同的,这一点很重要。变量名是区分大小写的,所以$Name和$name是两个不同的变量,但Name()和name()则是同一个函数。
  
理解作用域
变量的作用域可以控制变量在哪里是可见并且可用的。不同的编程语言有不同的变量作用域规则。PHP具有相当简单的规则:
在函数内部声明的变量作用与是从声明它们的那条语句开始到函数末尾。这叫做函数作用域。这些变量成为局部变量。
在函数外部声明的变量作用域是从声明它们的那条语句开始到文件末尾,而不是函数内部。这叫做全局作用域。这些变量成为全局变量。
特殊的超级全局变量在函数内外部都是可见的。
使用require()和include()并不影响作用域。如果这两个语句用于函数内部,函数作用域适用。如果它不在函数内部,全局作用域适用。
关键字“global”可以用来手动指定一个在函数中定义或使用的变量具有全局作用域。
通过调用unset($variable_name)可以手动删除变量。如果变量被删除,它就不在参数所指定的作用域中了。

全局变量定义global

  
可以通过使用超级全局变量$GLOBAL,可以访问或改变全局作用域中的任何变量。

  
创建自己的函数库
通常将函数集文件存放在library文件夹里,然后通过文件调用即可。文件名约定促成可以取名为tool.library.phptool可以根据情况来设定,后面两个照抄!
  
  三.文件包含

为了确保重用性和模块性,最普遍的方式是把功能组建隔离为单独的文件,然后在需要时重新组装。PHP提供了四种在应用程序中包含文件的语句。

include()语句将在其被调用的位置处判断并包含一个文件。包含一个文件与在该语句所在位置复制该文件的数据具有相同的结果。


include_once()函数的作用与include()相同,不过它会首先验证是否已经包含了该文件。如果包含了该文件,则不再执行include_once()


require()在很大程度与include()相同,都是将一个模板文件包含到require()调用所在的位置。


require_once()函数的作用与require()相同,不过require_once()函数确保文件只包含一次。在遇到require_once()后,后面再试图包含相同的文件时都将被忽略。


require()语句和include()语句几乎是等价的。二者的差异在于,当这两个语句调用失败后,require()将给出一个致命错误,而include()只是给出一个警告

  
四.魔法常量

PHP实现了一些所谓的魔法常量,他们并不真的是常量,因为这些魔法常量会根据使用的场合改变值。
名称

描述

__FILE__

当前文件名

__LINE__

当前行号

__FUNCTION__

当前函数名

__CLASS__

当前类名

__METHOD__

当前方法名

  
  





运维网声明 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-650970-1-1.html 上篇帖子: zabbix添加php监控 下篇帖子: [译]变量在 PHP7 内部的实现(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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