PHP 中 函数 的参数,为形式参数,即如果我们通过传值的方式,传递的参数其实是实际参数的一份拷贝,而不是真正的实际参数,同时,在 PHP 中,函数的形参可以没有,也可以有任意多个。
function functionName(param1, param2, param3){
// 要执行的代码
return val
}
参数 | 描述 |
---|---|
functionName | 函数名。 |
param1 | 函数参数 |
param2 | 函数参数 |
param3 | 函数参数 |
return | 可选,函数返回值使用的关键字。 |
val | 函数需要具体返回的值。 |
我们定义了一个函数 functionName,该函数有两个参数,分别为 param1 和 param2,函数的返回值为 val。
用函数,实现寻找两个数的最大公约数
<?php
echo "嗨客网(www.haicoder.net)<br>";
function gcdNormal($x, $y){
$n = 0;
if ($x > $y){
$n = $y;
}
else{
$n = $x;
}
for($i = $n; $i >= 1; $i--)
{
if ($x % $i == 0 && $y % $i == 0)
{
return $i;
}
}
return 1;
}
$res = gcdNormal(10, 20);
echo "Res =", $res, "<br>";
程序运行后,控制台输出如下:
我们定义了一个函数 gcdNormal,传入两个 int 类型 的参数 a 和 b,函数 返回 一个 int 类型的 变量。该函数使用了穷举法实现了求参数 a 和 参数 b 的最大公约数的逻辑。
PHP 的函数参数是函数参数,对函数参数的修改不会影响实参
<?php
echo "嗨客网(www.haicoder.net)<br>";
function change($a){
$a += 100;
}
$a = 10;
change($a);
echo "a =", $a, "<br>";
程序运行后,控制台输出如下:
我们定义了一个函数 change(),传入一个 int 类型的参数 a,在函数体中,对该函数的参数实现加 100 的操作。最后,调用该函数,并传入变量 a,执行完 change() 函数之后,我们再次打印变量 a 的值,发现 a 的值还是 10,并不是加 100 之后的 110。
因为在 PHP 中,函数的参数是形式参数,即是实参的拷贝,所以修改的不是实参,所以 a 的值不会改变。
PHP 中函数的参数,为形式参数,即如果我们通过传值的方式,传递的参数其实是实际参数的一份拷贝,而不是真正的实际参数,在 PHP 中,函数的形参可以没有,也可以有任意多个。