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练习