欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP函数学习小结

程序员文章站 2022-03-06 17:55:51
...

函数

1. 语法

函数是实现代码复用的重要方式,在所有编程语言中均如此

  1. function 函数名称(类型: 参数列表): 返回值类型
  2. {
  3. // 函数体
  4. return 返回值;
  5. }
序号 名称 描述
1 function 声明函数
2 函数名称 符合 PHP 标识符命名规范,不区分大小写
2 参数列表 零个或多个接收外部传入到函数的变量
2 {... 创建出一个封闭的函数作用域
2 函数体 由零个可多个合法的 PHP 语句组成
2 return 值 将执行结果返回函数调用者[可选]
2 ...} 函数执行结束,如果没有return,则返回null

2. 类型

序号 类型 语法 描述
1 自定义函数 function getName(){...} 用户根据业务需求创建
2 系统函数 substr(), count()... 也叫预定义函数,不必声明直接调用
3 可变函数 $funcName(); 函数名使用变量表示
4 匿名函数 $f = function (){...} 也叫”闭包”或”函数表达式”,常用做回调处理

示例:2.1自定义函数

  1. <?php
  2. function sun($a,$b)
  3. {
  4. $num = $a + $b;
  5. return $num;
  6. }
  7. echo sun(5,8);
  8. ?>

2.2系统函数

  1. <?php
  2. echo substr("Hello world",6);
  3. ?>

2.3可变函数

  1. <?php
  2. class Foo
  3. {
  4. function Variable()
  5. {
  6. $name = 'Bar';
  7. $this->$name(); // This calls the Bar() method
  8. }
  9. function Bar()
  10. {
  11. echo "This is Bar";
  12. }
  13. }
  14. $foo = new Foo();
  15. $funcname = "Variable";
  16. $foo->$funcname(); // This calls $foo->Variable()

2.4匿名函数

  1. <?php
  2. $n=1;
  3. $test1 = function($value)use ($n)
  4. {
  5. echo $value.' and '.$n;
  6. };
  7. $test1('HelloWorld');
  8. ?>

3. 返回值

  • 函数必须要有返回值
  • 函数必须是遵守单值返回原则
序号 场景 描述
1 return 可以返回任何类型的值,包括函数类型
2 return 遇到}也会返回, 默认返回null
  • 如果需要返回多个值,可以通过以下手段
序号 返回值类型 描述
1 string 字符串拼接
2 array 数组
3 json JSON 字符串
4 serialize 序列化字符串

json 和序列化,使用时需要进行解码操作

示例

  1. <?php
  2. function small_numbers(){
  3. return array(0, 1, 2);
  4. }
  5. list($zero, $one, $two) = small_numbers();
  6. echo $zero . $one . $two;
  7. ?>

4. 参数

  • 调用者可以通过参数将数据传递到函数中
  • 参数是以逗号分隔的表达式列表
  • 参数按照从左到右的顺序求值

参数类型

序号 类型 描述
1 值参数 默认传参方式
2 引用参数 改变原始调用参数值
3 默认参数 调用时允许省略的参数
4 剩余参数 调用参数数量不确定

示例:4.1值参数

  1. function test($name,$age){
  2. echo '姓名:'.$name,' 年纪:'.$age;
  3. }
  4. test('weixin',23); // 姓名:weixin 年纪:23
  5. test($name='weixin',$age=23); // 姓名:weixin 年纪:23

4.2引用参数

  1. <?php
  2. function test($a){
  3. $a = 200; // 函数中改变参数值为200
  4. }
  5. $b = 100; // 父程序中声明一个全局变量$b并给一个初始值100
  6. test($b); // 调用test函数 将100传给函数的参数
  7. echo $b; // 输出100 $b的值没变化
  8. ?>

4.3默认参数

  1. <?php
  2. //自定义一个函数person,用于打印一个人的属性
  3. function person($name="张三", $age=20, $sex="男"){
  4. echo "姓名:{$name}, 年龄:{$age}, 性别:{$sex} <br>";
  5. }
  6. person(); //全部使用默认参数
  7. person("李四"); //第一个默认参数被覆盖,后面两个参数为默认
  8. person("李四",22); //前两个默认参数被覆盖,后面一个参数为默认
  9. person("李四",22,"女"); //三个默认参数都被覆盖
  10. ?>

4.4剩余参数

  1. <?php
  2. // 剩余参数:可变长参数
  3. function sum3($a,$b,...$c){
  4. return $a+$b+array_sum($c);
  5. };
  6. echo sum3(5,5,10,10,10),'<hr>';

总结:
今天讲的是函数的四种类型,函数的四种返回值和函数的四种参数。感觉还是有点头大。如果全都掌握,我认为还是有一定的难度的,所以,还是多加练习加强记忆。