PHP 简介04-函数
1.函数 function
1.定义:
用来执行特定任务,实现某种功能
2.分类:
系统函数:PHP自带的函数,如数学,字符串,数组,时间…
自定义函数:用户根据具体的需求来设计的函数
3.自定义函数
1.格式:
function 函数名(参数1,参数2,...){代码块}
2.注意事项:
1) function 关键字不能少;
2)函数名不区分大小写;
3)参数(也称形参)可以写也可以不写,具体根据需求决定;
4)代码块:函数功能的主要部分;
4.特性:
- 函数不调用不会自动执行
- 没有执行函数时,依旧会检测里面的语法,若有错误,程序报错
- 函数互不影响,可以互相调用
- 调用函数和定义函数的先后顺序没有要求
5.调用函数
函数名();
6.函数名
1 函数的命名规范:
由数字,字母和下划线组成,但不能由数字开头
2 函数名不区分大小写
3 函数命名要求
有意义,以提高可读性(动词+名词)
4 函数命名方式:
1.小驼峰命名法:
从第二个单词开始,首字母大写 getUserName
2.大驼峰命名法(帕斯卡命名法)
每个单词的首字母都大写 GetUserInfo
3,下划线命名法
每个单词之间用下划线隔开 var_dump
5 函数名不允许重复
7.返回值 return
1.关键字:
return
2.格式:
return 内容
3.流程:
当程序执行到 return 时,马上将“内容”返回到调用函数的地方
4.返回状态:
- 自然返回:函数中的代码全部执行完,自动回到调用函数的地方
没有返回值时,强行接收,只能得到null
- 提前返回:函数中执行了return,马上结束函数,并返回到调用函数的地方
当程序执行到return时,立马返回,带了一个内容,如果想带两个变量回去,可以将多个变量存入同一个数组中,并return数组。
8.参数
1.定义:
参数分为实参(实际参数)和形参(形式参数)
实参—— argument ,在调用函数时给的具体参数
形参——parameter ,在定义函数时给的某一类参数形式
2.参数接收
1)实参个数=形参个数 (匹配完美)
实参与形参会一一对应,相互匹配接收
2)实参个数>形参个数
和形参匹配的前几个实参一一接收,后面多余的实参会被抛弃
3)实参个数<形参个数
多余的形参通常会采用之前设置的默认值,若没有默认值,则会被当做未定义变量
9.可变长度参数的函数
当实参个数为一个不确定值时,称为可变长度参数的函数
- 接收所有实参(数组形式)
func_get_args() - 单独获取键为N的实参
func_get_arg(N) - 统计一共有多少个实参
func_num_args()
当不知道有多少实参时,形参一个都不要写,用上述函数接收数据
1 | // 需求: |
10.函数设计准备
1.设计函数名:
具体功能描述
2.考虑参数设置:
- 功能中需要输入几个参数
- 参数需不需要设置默认值
3.核心功能
其中缺乏的数据,可以先模拟出来,保证结果是有效的
4.补充
缺什么补什么,把模拟数据扩展为灵活数据
1 | //需求:获取 x~y 之间的偶数 |
2.变量作用域
1.定义:
变量能够作用的区域。
2.分类
全局变量:在函数外部声明的变量
局部变量:在函数内部声明的变量
3.规则:
- 全局变量无法直接在局部作用域中使用
- 局部变量不能直接在全局作用域中使用
1 | $a=100; #全局变量 |
4.改变作用域
将全局变量作用域扩展至局部变量:
通过超全局数组获得全局变量,
$GLOBALS['a']用于存储所有全局可用的变量将局部变量作用域扩展至全局;
通过使用
global给局部变量赋予令牌,使其能够在全局中使用。
5.常量
1 | const CHINA='zhongguo'; #全局定义常量 |
小结:常量在本质上是没有作用域的。
6.静态变量
1.定义:在函数中,被声明为静态变量的值,函数执行结束后不会被释放,而是在下一次调用同函数时,直接使用上一次的静态值结果。
2.关键字: static
3.多个不同函数中,出现相同的静态变量,这些静态变量互不影响。
1 | function demo() |