PHP 的真正力量来自于它的功能。
PHP 拥有超过 1000 个内置函数,此外您还可以创建自己的自定义函数。
PHP 具有 1000 多个内置函数,可以从脚本中直接调用这些函数来执行特定任务。
请查看我们的 PHP 参考以获取完整的概述PHP 内置函数。
除了内置的 PHP 函数之外,还可以创建您自己的函数。
用户定义的函数声明以单词开头function
:
function
functionName() {
code to be executed;
}
笔记:函数名称必须以字母或下划线开头。函数名称不区分大小写。
提示:为该函数指定一个反映该函数功能的名称!
在下面的示例中,我们创建一个名为"writeMsg()" 的函数。左大括号 ( { ) 表示函数代码的开始,右大括号 ( } ) 表示函数的结束。该函数输出"Hello world!"。要调用该函数,只需在其名称后加上方括号 () 即可:
信息可以通过参数传递给函数。参数就像变量一样。
参数在函数名称后面的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔它们即可。
以下示例有一个带有一个参数 ($fname) 的函数。当调用 familyName() 函数时,我们还传递一个名称(例如 Jani),并且该名称在函数内部使用,该函数输出几个不同的名字,但有一个相同的姓氏:
<?php
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>
亲自试一试 »
以下示例有一个带有两个参数($fname 和 $year)的函数:
<?php
function familyName($fname, $year) {
echo "$fname Refsnes. Born in $year <br>";
}
familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>
亲自试一试 »
在上面的示例中,请注意我们不必告诉 PHP 变量的数据类型。
PHP 根据变量的值自动将数据类型与变量关联起来。由于严格意义上没有设置数据类型,因此您可以执行诸如将字符串添加到整数之类的操作,而不会导致错误。
在 PHP 7 中,添加了类型声明。这为我们提供了在声明函数时指定预期数据类型的选项,并通过添加strict
声明时,如果数据类型不匹配,它将抛出"Fatal Error"。
在下面的示例中,我们尝试将数字和字符串发送到函数而不使用strict
:
<?php
function addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is changed to int(5), and it will return 10
?>
亲自试一试 »
指定strict
我们需要设置declare(strict_types=1);
。它必须位于 PHP 文件的第一行。
在下面的示例中,我们尝试将数字和字符串发送到函数,但这里我们添加了strict
宣言:
<?php declare(strict_types=1); // strict requirement
function addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is enabled and "5 days" is not an integer, an error will be thrown
?>
亲自试一试 »
这个strict
声明强制事物以预期的方式使用。
以下示例显示如何使用默认参数。如果我们调用不带参数的函数 setHeight() ,它将采用默认值作为参数:
<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>
亲自试一试 »
要让函数返回值,请使用return
陈述:
<?php declare(strict_types=1); // strict requirement
function sum(int $x, int $y) {
$z = $x + $y;
return $z;
}
echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>
亲自试一试 »
PHP 7 还支持类型声明return
陈述。与函数参数的类型声明一样,通过启用严格要求,它将在类型不匹配时抛出"Fatal Error"。
要声明函数返回的类型,请添加冒号 (:
) 和打开卷曲之前的类型 ({
) 声明函数时的括号。
在下面的示例中,我们指定函数的返回类型:
<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
亲自试一试 »
您可以指定与参数类型不同的返回类型,但请确保返回类型正确:
<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>
亲自试一试 »
在 PHP 中,参数通常按值传递,这意味着函数中使用值的副本,并且传递到函数中的变量无法更改。
当函数参数通过引用传递时,对参数的更改也会更改传入的变量。要将函数参数转换为引用,&
使用运算符:
使用按引用传递参数来更新变量:
<?php
function add_five(&$value) {
$value += 5;
}
$num = 2;
add_five($num);
echo $num;
?>
亲自试一试 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!