如何实现自定义函数可以返回多个值?_PHP入门读书笔记(五):函数

本文详细介绍了PHP中的函数使用,包括如何定义和调用函数、参数传递方式(按值、按引用、默认参数)、函数返回值、变量函数以及对函数的引用。通过实例展示了如何在PHP中创建和操作函数,强调了函数在代码复用和逻辑组织中的重要性。
摘要由CSDN通过智能技术生成

函数就是将一些重复使用的功能写在一个独立的代码块中,在需要的时候单独调用。

一、定义和调用函数

function fun_name($str1,$str2......)

{

fun_body

}

function 声明自定义函数的必须使用的关键字

fun_name 自定义函数的名称。

$str1,$str2 为自定义函数的参数。

fun_body 自定义函数的主体,功能实现的部分。

调用函数:引用函数名并赋予正确的参数

例如:

<?php     function method($a)    {        return "$a x $a =".$a * $a;    }    echo method(5);?>输出结果:5 x 5 = 25

二、在函数间传递参数

调用需要传递参数,被传入的参数叫实参,在函数里定义的参数的形参。函数间的参数的传递方式有按值传递、按引用传递、默认参数3种方式。

1、按值传递方式

将实参的值赋值都对应的形参中,在函数内部的对形参进行操作,操作的结果并不会影响到实参,也就是函数执行后实参的值不会改变。

例如:

<?php     function method($a){        $a = $a+3;        echo "在函数内$a的值是:".$a;    }    $a = 2;    method($a);    echo "
";    echo "在函数外$a的值是:".$a;?>输出结果:在函数内$a的值是:5在函数外$a的值是:2

2、按引用传递方式

按引用传递就是将实参的内存地址传递给形参。这时候函数内部的对形参的操作都会影响到实参的值。在函数执行后实参的值将会发生改变。

引用传递的方式是函数定义后在形参前面加一个“&”的符号。

例如:

<?php     function method(&$a){        $a = $a+3;        echo "在函数内$a的值是:".$a;    }    $a = 2;    method($a);    echo "
";    echo "在函数外$a的值是:".$a;?>输出结果:在函数内$a的值是:5在函数外$a的值是:5

3、默认参数(可选参数)

可以指定某个参数是可选参数,将可选参数放在参数列表末尾,并且指定其默认值是什么(可以是空的或者其他数据类型的值)。

例如:

<?php     function method($a,$b="",$c=2){        $a = $a+($a*$b+$c);        echo "输出:$a 
";    }    method(10);    method(10,2);    method(10,2,10);?>输出结果:输出:12输出:32输出:40

三、函数的返回值

函数如果有返回值需要使用关键字reurn 或者 return()函数。如果在全局作用域使用了return关键字,那么将终止脚本的执行。

例如:

<?php     function method($a){        return $a+$a;    }    echo method(1);?>输出结果:2

return 语句只能返回一个操作数,也就是只能返回一个值,不能一次返回多个值。如果需要返回多个值,可以在函数中定义一个数组,将返回值存储在数组中返回。

cccc64b2dd6dc018e8d7524da6f7372b.png

四、变量函数

来看一个例子:

<?php     function eat(){        echo "吃饭

";    }    function drink($name="Tom"){        echo "$name 在喝水

";    }    function tea($a){        echo  "$a 在喝茶

";    }    $a = "eat";    $a(); //调用函数eat    $a = "drink";    $a("Jerry"); //调用函数drink    $a="tea";    $a("Jack"); //调用函数eat?>输出结果:吃饭Jerry 在喝水Jack 在喝茶

这个例子我们可以发现变量函数的调用可以通过改变变量名就可以实现的,变量名加小括号php 自动寻找和变量名相同的函数,并且执行它。如果找不到对应的函数,系统将会报错。通过这个方式,我们可以用于实现回调函数和函数表等。

五、对函数的引用

前面我们说函数的参数传递可以使用引用传递的方式修改实参的内容。引用不仅可以用于普通变量、函数参数,也可以用于函数本身。对函数的引用,就是对函数返回结果的引用。

例如:

<?php   function &method($a=0){      $a = "我在$a";      return $a;  }  $s = &method("捉迷藏");  echo $s;?>输出结果:我在捉迷藏

注意:和参数引用传递不同,对函数的引用必须在两个地方都使用“&”符号,用来说明返回的是一个引用。

六、取消引用

当不需要引用的时候,可以取消引用。取消引用使用unset()函数。它只是断开了变量名和变量内容之间的绑定,而不是销毁变量内容。

例如:

<?php     $a = 1234;    $b = &$a;    echo "$b:".$b."

";    unset($b);    echo "$b:".$b."

";    echo "$a:".$a."

";?>输出结果:$b:1234$b:$a:1234

下节预告:php的编码规范

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值