PHP 函数


2021年8月23日, Learn eTutorial
2013

在本 PHP 教程中,您将学习 PHP 中的所有条件语句。我们将详细讨论用户自定义函数、带参数函数、按值调用、按引用调用、默认参数、可变参数、返回类型声明、递归函数。

PHP 函数与其他编程语言相同。函数是用于执行特定任务并返回输出的代码。函数以函数参数的形式获取输入。

在 PHP 中使用函数有什么优点?

  • 代码复用性:一旦定义了 PHP 函数,就可以根据需要多次调用该函数。
  • 易于理解:PHP 函数用于隔离编程逻辑。由于每个逻辑都分解为函数,因此人们更容易理解应用程序的流程。
  • 代码更少:它节省了大量代码,因为我们不必一遍又一遍地编写逻辑。函数的使用允许您只编写一次逻辑并重复使用它。

在 PHP 中有许多用于各种目的的内置函数,同样,用户也可以声明用户自定义函数。

PHP 中的用户自定义是什么意思?

用户为了满足其需求而声明的函数称为用户自定义函数。函数在程序执行时不会自动执行,而是只有在调用函数时才会执行。

如何在 PHP 中创建用户自定义函数?

要创建用户自定义函数,我们使用关键字 `function`,后跟函数名和包含参数的圆括号,以及我们编写函数代码的花括号。

语法


function functionName() {
  code to be executed;
}

示例:PHP 中的函数


function welcome () {
    echo "Welcome to learnetutorials.com";
}
welcome ();
 

输出


Welcome to learnetutorials.com

在上面的示例中,我们创建了一个用户自定义函数“welcome”来打印字符串“Welcome to learnetutorials.com”。为此,我们使用关键字 `function` 后跟函数名“welcome”创建了函数,并使用 `echo` 语句打印了所需内容。在函数外部,我们调用了函数“welcome”,后跟圆括号以确定它是一个函数。

PHP 中的“按值调用”是什么意思?

PHP 允许按值和按引用调用函数。在 PHP 的按值调用中,实际值不会改变,而是函数内部的值才会改变。

示例:PHP 中的按值调用


function countNum ($num) {
    $num += 1; 
}
$num = 1; 
countNum ($num);
echo $num;

 

输出


1

在上面的示例中,我们可以看到我们作为参数传递的值是变量,并且在函数的参数中创建的变量将与函数外部的变量不同。这我们在变量章节中讨论过。正如我们所知,函数块中所做的更改不会影响函数外部的变量。

PHP 中的“按引用调用”是什么意思?

在 PHP 的按引用调用中,即使在函数内部更改,实际值也会改变。在这里,必须使用 &(与号)符号与参数。& 符号表示变量的引用。

示例:PHP 中的按引用调用


function countNum(&$num){
    $num += 1; 
}
$num = 1; 
countNum($num);
echo $num;

 

输出


2

在上面的示例中,我们可以看到我们作为参数传递的值是变量的引用,并且在函数的参数中创建的变量将是原始变量的引用,如果我们在函数内部更改变量的值,函数外部变量的值也会改变。

PHP 中的默认参数值函数

在 PHP 中,我们使用默认参数值,以防我们不传递任何参数,那么将使用函数参数中分配的默认值。

示例:PHP 中的默认参数值函数


function welcome ($name = "Guest") {
    echo "Hai $name, welcome to learnetutorials.com \n";
}
welcome ("John");
welcome ();

 

输出


Hai John, welcome to learnetutorials.com 
Hai Guest, welcome to learnetutorials.com

在上面的示例中,我们可以看到我们已经在函数参数本身中分配了值。当我们在调用函数时通过参数传递值时,传递的值将被打印,如果我们不带参数调用函数,则将使用默认值。

PHP 中的可变参数函数

PHP 有一个可变长度参数函数。这表明您可以向函数发送任意数量的参数。为此,我们只需在参数名称前放置三个省略号(点)。

示例:PHP 中的可变参数函数


function welcome (...$names) {
    foreach ($names as $name) {
        echo "Hai $name, welcome to learnetutorials.com \n";
    }
}
welcome ("Jhon", "Roy", "Justin");

 

输出


Hai Jhon, welcome to learnetutorials.com 
Hai Roy, welcome to learnetutorials.com 
Hai Justin, welcome to learnetutorials.com

在上面的示例中,我们可以看到我们发送了三个值作为参数,并且在函数的参数中,我们创建了一个可变参数,而不是声明三个变量。在函数块中,我们使用 foreach 循环打印了可变参数的值。

如何在 PHP 函数中返回值?

要从函数中返回值,我们使用 `return` 语句。

示例:PHP 函数中的返回值


function welcome($name) {
    return "Hai $name, welcome to learnetutorials.com";
}
echo welcome ("Roy");

 

输出


Hai Roy, welcome to learnetutorials.com

在上面的示例中,我们可以看到我们没有在函数中打印字符串,而是从字符串返回了值,并且使用 `echo` 语句打印了函数的返回值。

PHP 中返回类型声明是什么意思?

由于 PHP 是一种弱类型脚本语言,返回类型可能与预期不同,为了避免这种情况,我们使用返回类型声明,通过这种方式,我们可以指定从函数返回值的类型。要声明函数的返回类型,我们在左花括号 ({) 之前添加一个冒号 (:),并指定要返回值的类型。

不带返回类型声明的示例


function AddNum ($n1, $n2) {
    return $n1 + $n2;
}
$num1 = 10.6;
$num2 = 11;
echo AddNum ($num1, $num2); 
 

输出


21.6

在上面的示例中,我们可以看到我们传递了一个整数和一个浮点数作为参数,函数自动返回了一个浮点数,假设我们需要返回一个整数值,在这种情况下我们使用返回类型声明。

 

不带返回类型声明的示例


function AddNum ($n1, $n2): int {
    return $n1 + $n2;
}
$num1 = 10.6;
$num2 = 11;
echo AddNum ($num1, $num2);

 

输出


21

在上面的示例中,我们可以看到它使用了相同的程序,但只是添加了函数的返回类型声明。通过这样做,我们得到了函数的整数返回值。

PHP 中的递归

递归函数是指在函数内部调用自身函数的函数。它也称为递归。

PHP 中的递归


function countNum ($n) {
    if ($n <= 10) {
        echo "$n ";
        $n++;
        countNum ($n);
    }
}
$num = 1;
echo countNum ($num);
 

输出


1 2 3 4 5 6 7 8 9 10

在上面的示例中,我们可以看到我们只在函数外部调用了一次函数,而所有其他函数调用都是在函数内部完成的。