函数的定义

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. 论文阅读笔记:【MDNet】

    [MDNET]: H Nam, B Han. Learning multi-domain convolutional neural networks for visual tracking[C]. / ...

  2. centos-rpm安装的mariadb,php52源码编译安装时注意点

    1.不要静态指定with-mysql 以扩展的mysql.so的形式安装 2.找不到header file之类的 要yum install mysql-devel find / -name mysql ...

  3. DataBaseDaoAbstract

    import java.lang.reflect.Method; import java.math.BigDecimal; import java.sql.PreparedStatement; imp ...

  4. GraphicsMagick命令

    [ convert | identify | mogrify | composite | montage | compare | display | animate | import | conjur ...

  5. Resilience4j usage

    1. pom 1) normal <dependency> <groupId>io.github.resilience4j</groupId> <artifa ...

  6. nginx的proxy_pass路径转发规则最后带/问题

    一.location匹配路径末尾没有 / location /sta{proxy_pass http://192.168.1.1/sta;} 外面访问:http://外网IP/sta/sta1.htm ...

  7. 【亲测】在网页上查找接口,Network--XHR,出来的每个Name都是后台的一个接口

  8. vue中.sync 修饰符

    一直以来,都不太明白.sync的用法,归根结底原因在于,没有仔细阅读“.sync修饰符”. 正好,最近在拿一个项目练手,然后使用了elment-ui,然后在用到dialog的时候,属性visible是 ...

  9. Zookeeper的一致性协议:Zab

        Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性复制的核心,据其作者说这是一种新发算法,其特点是充分考虑了Yahoo的具体情况: ...

  10. java数据类型关系及关系

    java中有常见的基本数据类型和引用数据类型,基本数据类型为四类八种如下 整数型(byte,short,int,long) 浮点型(float,double) 字符型(char) 布尔型(boolea ...