1.参数详解

案例

<?php
//定义函数
    function add($arr1,$arr2){ //形参可以有多个用逗号隔开
    echo $arr1+$arr2;
    }

//调用函数
$num1 = 10;
add($num1,20);  //传入实参,可以是变量或者其他有值的表达式(变、常量、运算符计算结果)
?>

注意

1.在php中运行实参多余形参(个数),函数内部不用而已,不影响

2.在php理论上形参个数没有限制(实际开发不会太多)

3.实参不能小于形参个数

2.函数形参的默认值

默认值:default value,指的是形参的默认值,在函数定义的时候,就给形参进行一个初始赋值,如果实际调用传入的参数(实参)没有提供,那么形参就会使用定义的值进入函数内部参与运算。

通常默认值是用在一些,一定会有某个数据参与,但是可能通常是某个我们知道的值。

<?php
//函数的默认值
function jian($num1 = 0,$num2 = 0){
    //当前$num1是形参,在编译时不执行,即便执行也是在jian函数内部,不会与外部的$num1变量冲突
    echo $num1 -$num2;
}

//调用:默认值如果存在,实参可以不用传入
jian($num1,(形参默认值存在,此处实参可以不用传入));
echo $num1;
?>

注意事项:

1、默认值的定义是放在最右边的(可以有多个,但是实参不能小于形参个数),且第一个形参有默认值,第二个形参也得有默认值,不能出现这种情况function add($a=0,$b)


引用传递

实参在调用时会将值赋值给形参,那么实际上使用的方式就是一种简单的值传递实参(如果是变量、常量或者其他表达式)的结果(值)取出来赋值给形参形参与外部实际传入的参数本身没有任何关联关系:只是结果一样而已

有的时候希望在函数内部拿到的外部数据,能够在函数内部改变,那么就需要在定义时明确告知函数,函数才会在调用的时候主动获取外部数据的内存地址。以上这种定义形式参数的方式叫作引用传值

基本定义语法:

function 函数名(形参1,&形参2(引用传值)){
//函数体
}

在调用的时候,必须在引用传值的参数位置传入实际参数,而且参数本身必须是变量。(变量才会指向数据的内存地址)

引用传值注意事项:在传入实参的时候,必须传入变量,不能传入数据本身

错误:

最后修改:2022 年 06 月 28 日
如果觉得我的文章对你有用,请随意赞赏