PHP开发——函数
函数的定义
l 函数是一段命名的代码段。
函数可以减轻工作量,减少重复的代码,方便后期维护。
函数的参数
l 实参:调用函数时,传递的参数就是实参,含有真正数据的。
l 形参:定义函数时的参数。
值传递
l 函数参数的值传递,就是将参数的值,复制一份,传到函数中。
引用传递
l 值传递速度比较慢,但修改其中一个不会影响到另一个;
l 引用传递速度比较快,但修改其中一个,另一个也会改变。
l 引用传递,是将一个变量的地址,复制一份,传到函数中。
默认参数
l 如果实参个数少于形参个数时,可以用一个默认参数来代替。
l 默认参数,只能用在定义函数时的参数。
l 默认参数的位置,必须放在非默认参数的右边。
l 默认参数的值,只能是:字符串、整型、浮点型、布尔型、NULL、数组。
函数可变数量参数
l func_get_args( void ):返回一个参数列表的枚举数组,参数数组的下标是从0开始的正整数
l func_get_arg( $index ):返回参数数组中,指定下标的参数的值;
l func_num_args( void ):返回实参的个数。
l 提示:以上三个系统函数,都只能在函数定义中来使用。
返回值
l 函数的返回值,通过return语句来实现;
l 将函数的执行结果,返给了函数调用者;
l return语句一旦执行,函数立即结束,函数剩余的代码不再执行了。
l return语句有”中断”函数、”退出”函数;
l return不能同时返回多个值,只能返回一个值。如果想返回多个值,可以放入数组。
可变函数
l 在调用函数时,函数的名称是一个变量,该变量的值是一个字符串的函数名。如:$a()
l 在这种情况下,也可以传递参数;
l 注意:字符串的函数名,不能带小括号。
匿名函数
l 没有名字的函数,就是”匿名函数”。
l 匿名函数不能单独定义,也不能单独调用。
l 匿名函数,一般是做为数据,给变量赋值的。
l 匿名函数结束大括号后的分号,不能省略。
PHP开发——函数的更多相关文章
- 开发函数计算的正确姿势 —— 使用 Fun Local 本地运行与调试
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...
- JMeter 源码二次开发函数示例
JMeter 源码二次开发函数示例 一.JMeter 5.0 版本 实际测试中,依靠jmeter自带的函数已经无法满足我们需求,这个时候就需要二次开发.本次导入的是jmeter 5.0的源码进行实际的 ...
- 3.编写sub过程及开发函数——《Excel VBA 程序开发自学宝典》
3.1 编写sub过程 实例: Sub 建立10个表() If sheets.count>=10 then exit sub Sheets.add , sheets(sheets.count) ...
- 规避Javascript多人开发函数和变量重名问题
函数和变量重名始终是一个令人头痛的问题,先讲变量吧,相信了解JS的朋友都知道,在JS中 是没有块级作用域的只有函数作用域,也就是说那些以大括号为界定符的代码块是管不住其中定义 的变量的作用域的,举例: ...
- php扩展开发-函数
我们首先找到快速上手文章里面关于函数定义的代码,以此说明然后开发PHP的函数 //php_myext.h PHP_FUNCTION(myext_hello);//函数申明,所有在myext.c文件定义 ...
- 开发函数计算的正确姿势 —— 使用 ROS 进行资源编排
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...
- 开发函数计算的正确姿势——OCR 服务
作者 | 杜万(倚贤) 阿里云技术专家 简介 首先介绍下在本文出现的几个比较重要的概念: OCR(光学字符识别):光学字符识别(Optical Character Recognition, OCR)是 ...
- ios开发函数(数学函数应用)
今天在计算collectionView存放最小间距的时候用到一函数 " ABS " 顺便就查了一下这些数学函数在代码中的使用.. //----------------------- ...
- Python开发——函数【基础】
函数的定义 以下规则 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符 ...
随机推荐
- html5-websocket实现基于远程方法调用的数据交互
html5-websocket实现基于远程方法调用的数据交互 一般在传统网页中注册用户信息都是通过post或ajax提交到页面处理,到了HTML5后我们有另一种方法就是通过websocket进行数 ...
- Delphi 7升级到XE2的字符串问题
原来的Delphi中有两种字符串:AnsiString和WideString.默认的string即AnsiString.而在Delphi 2009中,新增加了一种UnicodeString.为什么不沿 ...
- 流媒体压力测试rtmp&hls(含推流和拉流)
http://blog.csdn.net/sinat_34194127/article/details/50816045 [root@localhost ~]# yum install git unz ...
- C++中宽字符类型(wchar_t)的编码
转载自: http://www.ituring.com.cn/article/111027 问题的起因是和一个朋友讨论不同编码的转换问题,说到了wchar_t的类型,朋友的看法是,wchar_t的编码 ...
- 通过WebClient模拟post上传文件到服务器
写在前面 最近一直在研究sharepoint的文档库,在上传文件到文档库的过程中,需要模拟post请求,也查找了几种模拟方式,webclient算是比较简单的方式. 一个例子 这里写一个简单接受pos ...
- denyhosts、中文文档乱码、端口占用查询
1.安装 denyhosts, 设置 hosts.allow ,系统自动将攻击的ip 添加如 hosts.deny2.打开中文文档乱码, 将文档下载到windows, 通过富文本编辑器查看文档编码3. ...
- javascript常用工具类整理(copy)
JavaScript常用工具类 类型 日期 数组 字符串 数字 网络请求 节点 存储 其他 1.类型 isString (o) { //是否字符串 return Object.prototype.to ...
- pygame 简单播放音乐程序
环境: python2.7 pygame 功能: 播放指定目录下的歌曲(暂时mp3),可以上一曲.下一曲播放. 文件目录: font 字体文件夹 image 图片文件夹 music 音乐文件夹 ...
- 使用IntelliJ IDEA创建简单的Dubbo实例
这个博客是在https://blog.csdn.net/Crazer_cy/article/details/80397649篇文章上的基础上,自己学习用的. Zookeeper为dubbo的注册中心, ...
- 定位JVM内存溢出问题思路总结
JVM的内存溢出问题,是个常见而有时候有非常难以定位的问题.定位内存溢出问题常见方法有很多,但是其实很多情况下可供你选择的有效手段非常有限.很多方法在一些实际场景下没有实用价值.这里总结下我的一些定位 ...