Php/php functions
PHP函数
PHP的真正功能来自其功能。
PHP具有1000多个内置函数,此外,您还可以创建自己的自定义函数。
PHP内置函数
PHP具有1000多个内置函数,可以从脚本内直接调用它们以执行特定任务。
请查看我们的PHP参考资料,以完整了解 PHP内置函数
.
PHP用户定义函数
除了内置的PHP函数之外,还可以创建自己的函数。
- 函数是可以在程序中重复使用的语句块。
- 页面加载时,功能不会自动执行。
- 一个函数将通过调用该函数来执行。
在PHP中创建用户定义的函数
用户定义的函数声明以单词开头
function
句法
function functionName()
{
code to be executed;
}
注意: 函数名称必须以字母或下划线开头。函数名称不区分大小写。
Tip: 给该函数起一个能反映该函数作用的名称!
在下面的示例中,我们创建一个名为“ writeMsg()”的函数。大括号({)表示功能代码的开始,而大括号(})表示功能代码的结束。函数输出“ Hello world!”。要调用该函数,只需在其名称后加上方括号():
例
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
?>
PHP函数参数
信息可以通过参数传递给函数。一个参数就像一个变量。
在函数名称后的括号内指定参数。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。
以下示例具有一个带有一个参数($ 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根据其值自动将数据类型与变量关联。由于没有严格意义上的数据类型设置,因此您可以执行类似将字符串添加到整数的操作,而不会引起错误。
在PHP 7中,添加了类型声明。这使我们可以选择在声明函数时指定期望的数据类型,并添加
strict
声明,如果数据类型不匹配,它将抛出“致命错误”。
在下面的示例中,我们尝试不使用而将数字和字符串都发送到函数
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
?>
The
strict
声明强制以预定方式使用事物。
PHP默认参数值
以下示例显示如何使用默认参数。如果我们调用不带参数的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);
?>
PHP函数-返回值
要让函数返回值,请使用
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返回类型声明
PHP 7还支持以下类型的类型声明:
return
声明。与函数参数的类型声明一样,通过启用严格要求,它将在类型不匹配时引发“致命错误”。
要声明函数返回的类型,请添加一个冒号(
:
)和开头卷曲之前的类型(
{
)声明功能时用括号括起来。
在以下示例中,我们指定函数的返回类型:
例
<?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;
?>
PHP练习