在本 PHP 教程中,您将学习 PHP 中的所有条件语句。我们将详细讨论用户自定义函数、带参数函数、按值调用、按引用调用、默认参数、可变参数、返回类型声明、递归函数。
PHP 函数与其他编程语言相同。函数是用于执行特定任务并返回输出的代码。函数以函数参数的形式获取输入。
在 PHP 中有许多用于各种目的的内置函数,同样,用户也可以声明用户自定义函数。
用户为了满足其需求而声明的函数称为用户自定义函数。函数在程序执行时不会自动执行,而是只有在调用函数时才会执行。
要创建用户自定义函数,我们使用关键字 `function`,后跟函数名和包含参数的圆括号,以及我们编写函数代码的花括号。
语法
function functionName() {
code to be executed;
}
function welcome () {
echo "Welcome to learnetutorials.com";
}
welcome ();
输出
Welcome to learnetutorials.com
在上面的示例中,我们创建了一个用户自定义函数“welcome”来打印字符串“Welcome to learnetutorials.com”。为此,我们使用关键字 `function` 后跟函数名“welcome”创建了函数,并使用 `echo` 语句打印了所需内容。在函数外部,我们调用了函数“welcome”,后跟圆括号以确定它是一个函数。
PHP 允许按值和按引用调用函数。在 PHP 的按值调用中,实际值不会改变,而是函数内部的值才会改变。
function countNum ($num) {
$num += 1;
}
$num = 1;
countNum ($num);
echo $num;
输出
1
在上面的示例中,我们可以看到我们作为参数传递的值是变量,并且在函数的参数中创建的变量将与函数外部的变量不同。这我们在变量章节中讨论过。正如我们所知,函数块中所做的更改不会影响函数外部的变量。
在 PHP 的按引用调用中,即使在函数内部更改,实际值也会改变。在这里,必须使用 &(与号)符号与参数。& 符号表示变量的引用。
function countNum(&$num){
$num += 1;
}
$num = 1;
countNum($num);
echo $num;
输出
2
在上面的示例中,我们可以看到我们作为参数传递的值是变量的引用,并且在函数的参数中创建的变量将是原始变量的引用,如果我们在函数内部更改变量的值,函数外部变量的值也会改变。
在 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 有一个可变长度参数函数。这表明您可以向函数发送任意数量的参数。为此,我们只需在参数名称前放置三个省略号(点)。
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 循环打印了可变参数的值。
要从函数中返回值,我们使用 `return` 语句。
function welcome($name) {
return "Hai $name, welcome to learnetutorials.com";
}
echo welcome ("Roy");
输出
Hai Roy, welcome to learnetutorials.com
在上面的示例中,我们可以看到我们没有在函数中打印字符串,而是从字符串返回了值,并且使用 `echo` 语句打印了函数的返回值。
由于 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
在上面的示例中,我们可以看到它使用了相同的程序,但只是添加了函数的返回类型声明。通过这样做,我们得到了函数的整数返回值。
递归函数是指在函数内部调用自身函数的函数。它也称为递归。
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
在上面的示例中,我们可以看到我们只在函数外部调用了一次函数,而所有其他函数调用都是在函数内部完成的。