函数的定义

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开发——函数的更多相关文章

  1. 开发函数计算的正确姿势 —— 使用 Fun Local 本地运行与调试

    前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...

  2. JMeter 源码二次开发函数示例

    JMeter 源码二次开发函数示例 一.JMeter 5.0 版本 实际测试中,依靠jmeter自带的函数已经无法满足我们需求,这个时候就需要二次开发.本次导入的是jmeter 5.0的源码进行实际的 ...

  3. 3.编写sub过程及开发函数——《Excel VBA 程序开发自学宝典》

    3.1 编写sub过程 实例: Sub 建立10个表() If sheets.count>=10 then exit sub Sheets.add , sheets(sheets.count) ...

  4. 规避Javascript多人开发函数和变量重名问题

    函数和变量重名始终是一个令人头痛的问题,先讲变量吧,相信了解JS的朋友都知道,在JS中 是没有块级作用域的只有函数作用域,也就是说那些以大括号为界定符的代码块是管不住其中定义 的变量的作用域的,举例: ...

  5. php扩展开发-函数

    我们首先找到快速上手文章里面关于函数定义的代码,以此说明然后开发PHP的函数 //php_myext.h PHP_FUNCTION(myext_hello);//函数申明,所有在myext.c文件定义 ...

  6. 开发函数计算的正确姿势 —— 使用 ROS 进行资源编排

    前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...

  7. 开发函数计算的正确姿势——OCR 服务

    作者 | 杜万(倚贤) 阿里云技术专家 简介 首先介绍下在本文出现的几个比较重要的概念: OCR(光学字符识别):光学字符识别(Optical Character Recognition, OCR)是 ...

  8. ios开发函数(数学函数应用)

    今天在计算collectionView存放最小间距的时候用到一函数 " ABS " 顺便就查了一下这些数学函数在代码中的使用.. //----------------------- ...

  9. Python开发——函数【基础】

    函数的定义 以下规则 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符 ...

随机推荐

  1. centos 使用RPM包安装指定版本的docker-engine

    下面是拿安装docker-engine-1.10.3-1为例: wget https://yum.dockerproject.org/repo/main/centos/7/Packages/docke ...

  2. 【mysql】批量更新数据

    概述 批量更新mysql数据表数据,上网搜索基本都会说4~5方法,本人使用的更新方式为: INSERT ... ON DUPLICATE KEY UPDATE Syntax 可参见官方网站:inser ...

  3. Android 最简单的MVP案例;

    随手撸个发出来: V:界面层 //界面层需要实现P.View方法,然后重写P.View中的方法:M层给的数据就在这些个方法的参数中: // 还要获取到P.Provide的实例,使用P.Provide去 ...

  4. mybatis入门篇:通过SqlSession.selectList进行数据查询

    作为一个java菜鸟,早就从慕课网中学到一些基本的mybatis的用法,但是一直不成体系,懵懵懂懂,既然正式入了java这个坑,就打算好好学学,所以买了本<MyBatis从入门到精通>,在 ...

  5. Python + Robot Framework 环境搭建

    一.Python 安装 说明:由于RIDE是基于python2.x开发,后期未做python3.x兼容,所以这里安装python2.7. 链接: https://pan.baidu.com/s/1yf ...

  6. 可视化神器--Plotly

    数据分析离不开数据可视化.我们最常用的就是pandas,matplotlib,pyecharts当然还有Tableau,看到一篇文章介绍plotly制图后我也跃跃欲试,查看了相关资料开始学习plotl ...

  7. springboot学习目录

    1.spring boot 简单示例 一个简单的springboot 例子  https://www.cnblogs.com/shoshana-kong/p/9641696.html 2. sprin ...

  8. Android 开发 系统组件集合

    常用的TextView.Button.ImageView和几个常用布局就不介绍了,我们介绍一些特别好用但是常常忘记的组件. 标题栏组件 <androidx.appcompat.widget.To ...

  9. Maven CXF wsdl2Java 给指定名空间设置包名

    <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin< ...

  10. spring学习1

    1.<context:property-placeholder/> :用于从外部属性文件中获取Bean的配置 <context:property-placeholder locati ...