21xrx.com
2024-11-05 20:46:32 Tuesday
登录
文章检索 我的文章 写文章
PHP 函数
2021-07-22 08:53:02 深夜i     --     --
P H P


PHP 的真正威力来自于它的函数。

PHP有超过 1000 个内置函数,此外您还可以创建自己的自定义函数。


PHP 内置函数

PHP 有超过 1000 个可以直接从内部调用的内置函数 一个脚本,执行 一个特定的任务。

请查看我们的 PHP 参考以获取有关 PHP 内置函数。


PHP 用户定义函数

除了内置的 PHP 函数外,还可以创建自己的函数。

  • 函数是可以在程序中重复使用的语句块。
  • 当页面加载时,函数不会自动执行。
  • 函数将通过调用函数来执行。

在 PHP 中创建用户定义的函数

用户定义的函数声明以单词 function 开头:

语法

function functionName() {
  code to be executed;
}

注意:函数名必须以字母或下划线开头。 函数名称不区分大小写。

提示:为函数命名,以反映 功能呢!

在下面的示例中,我们创建了一个名为“writeMsg()”的函数。左花括号 ( { ) 表示函数代码的开始,结束 花括号 ( } ) 表示函数的结束。 该函数输出“Hello world!”。要调用该函数,只需写下它的名称,后跟方括号 ():

<?php
function writeMsg() {
  echo "Hello world!";
}

writeMsg(); // call the function
?>


PHP 函数参数

信息可以通过参数传递给函数。 一个参数就像一个变量。

参数在函数名后的括号内指定。 你 可以根据需要添加任意数量的参数,只需用逗号分隔它们。

下面的示例有一个带有一个参数 ($fname) 的函数。 当 familyName() 函数被调用,我们还传递一个名字(例如 Jani),以及 name 在函数内部使用,它输出几个不同的名字, 但一个相同的姓氏:

<?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 中,添加了类型声明。 这给了我们一个选项来指定 声明函数时的预期数据类型,并通过添加严格 声明,它会抛出一个“致命的 错误”,如果数据类型不匹配。

在下面的例子中,我们尝试将一个数字和一个字符串发送到 不使用严格的函数:

<?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
?>

要指定严格,我们需要设置 declare(strict_types=1);。 这必须在 PHP 文件的第一行。

在下面的例子中,我们尝试将一个数字和一个字符串发送到 函数,但在这里我们添加了严格的声明:

<?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
?>

严格声明强制以预期的方式使用变量。


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 还支持返回的类型声明。 与函数参数的类型声明一样,通过启用严格要求,它将抛出“致命 类型不匹配时出现错误”。

要声明函数返回的类型,请添加一个冒号 ( :) 和开头卷曲之前的类型 ( { ) 括号在声明函数时。

在以下示例中,我们指定函数的返回类型:

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

通过练习测试自己

锻炼:

创建一个名为 myFunction 的函数。

 {
  echo "Hello World!";
}

 

 

 

  
  
下一篇: PHP 正则表达式

评论区

{{item['qq_nickname']}}
()
回复
回复