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 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符 ...
随机推荐
- centos 使用RPM包安装指定版本的docker-engine
下面是拿安装docker-engine-1.10.3-1为例: wget https://yum.dockerproject.org/repo/main/centos/7/Packages/docke ...
- 【mysql】批量更新数据
概述 批量更新mysql数据表数据,上网搜索基本都会说4~5方法,本人使用的更新方式为: INSERT ... ON DUPLICATE KEY UPDATE Syntax 可参见官方网站:inser ...
- Android 最简单的MVP案例;
随手撸个发出来: V:界面层 //界面层需要实现P.View方法,然后重写P.View中的方法:M层给的数据就在这些个方法的参数中: // 还要获取到P.Provide的实例,使用P.Provide去 ...
- mybatis入门篇:通过SqlSession.selectList进行数据查询
作为一个java菜鸟,早就从慕课网中学到一些基本的mybatis的用法,但是一直不成体系,懵懵懂懂,既然正式入了java这个坑,就打算好好学学,所以买了本<MyBatis从入门到精通>,在 ...
- Python + Robot Framework 环境搭建
一.Python 安装 说明:由于RIDE是基于python2.x开发,后期未做python3.x兼容,所以这里安装python2.7. 链接: https://pan.baidu.com/s/1yf ...
- 可视化神器--Plotly
数据分析离不开数据可视化.我们最常用的就是pandas,matplotlib,pyecharts当然还有Tableau,看到一篇文章介绍plotly制图后我也跃跃欲试,查看了相关资料开始学习plotl ...
- springboot学习目录
1.spring boot 简单示例 一个简单的springboot 例子 https://www.cnblogs.com/shoshana-kong/p/9641696.html 2. sprin ...
- Android 开发 系统组件集合
常用的TextView.Button.ImageView和几个常用布局就不介绍了,我们介绍一些特别好用但是常常忘记的组件. 标题栏组件 <androidx.appcompat.widget.To ...
- Maven CXF wsdl2Java 给指定名空间设置包名
<plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin< ...
- spring学习1
1.<context:property-placeholder/> :用于从外部属性文件中获取Bean的配置 <context:property-placeholder locati ...