PHP 函数
-
PHP函数
PHP函数与其他编程语言类似。函数是一段代码,它以参数的形式接受一个输入,并进行一些处理并返回一个值。您已经看过许多函数,如fopen()
和fread()
等。它们是内置函数,但PHP也为您提供了创建自己的函数的功能。有两个部分应该清楚- 创建PHP函数
- 调用PHP函数
实际上你几乎不需要创建自己的PHP函数,因为已经有超过1000个为不同区域(如,数组,字符串,文件,系统,时间日期等等)创建的内置库函数,你只需要根据你的要求调用它们。有关一组完整的有用函数,请参阅PHP函数参考。 -
创建PHP函数
很容易创建自己的PHP函数。假设您要创建一个PHP函数,只需在您调用它时在浏览器上写一条简单的消息。下面的示例创建一个名为writeMessage()的函数,然后在创建它之后立即调用它。请注意,在创建函数时,其名称应以关键字function
开头,并且所有PHP代码都应放在大括号{}内,如下面的示例所示
尝试一下<html> <head> <title>编写PHP函数</title> </head> <body> <?php /* 定义一个PHP函数 */ function writeMessage() { echo "你是一个很好的人,祝你玩得愉快!"; } /* 调用刚刚定义的PHP函数 */ writeMessage(); ?> </body> </html>
-
带参数的PHP函数
PHP为您提供了在函数内传递参数的选项。您可以传递尽可能多的参数。这些参数与函数内部的变量类似。以下示例采用两个整数参数并将它们相加然后打印它们。
尝试一下<html> <head> <title>编写带参数的PHP函数</title> </head> <body> <?php function addFunction($num1, $num2) { $sum = $num1 + $num2; echo "两个数字之和是 : $sum"; } addFunction(10, 20); ?> </body> </html>
-
通过引用传递参数
可以通过引用将参数传递给函数。这意味着函数操作对变量的引用而不是变量值的副本。在这些情况下对参数所做的任何更改都将更改原始变量的值。您可以通过在函数调用或函数定义中向变量名称添加&符来通过引用传递参数。以下示例描述了两种情况。
尝试一下<html> <head> <title>按引用传递参数</title> </head> <body> <?php function addFive($num) { $num += 5; } function addSix(&$num) { $num += 6; } $orignum = 10; addFive( $orignum ); echo "Original的值是 $orignum<br />"; addSix( $orignum ); echo "Original的值是 $orignum<br />"; ?> </body> </html>
-
PHP函数返回值
函数可以使用return
语句结合值或对象返回值。return
停止执行函数并将值返回给调用代码。您可以使用返回array(1,2,3,4)从函数返回多个值。下面的示例采用两个整数参数并将它们相加,然后将它们的总和返回给调用程序。请注意,return
关键字用于从函数返回值。
尝试一下<html> <head> <title>编写一个带返回值的PHP函数</title> </head> <body> <?php function addFunction($num1, $num2) { $sum = $num1 + $num2; return $sum; } $return_value = addFunction(10, 20); echo "从函数返回的值 : $return_value"; ?> </body> </html>
-
设置函数参数的默认值
如果函数的调用者未传递参数,则可以将参数设置为具有默认值。如果调用代码没有将任何值传递给此函数,则以下函数将打印NULL
。
尝试一下<html> <head> <title>编写带返回值的PHP函数</title> </head> <body> <?php function printMe($param = NULL) { print $param; } printMe("这是测试:"); printMe(); ?> </body> </html>
-
动态调用函数
可以将函数名称作为字符串分配给变量,然后像处理函数名称一样处理这些变量。以下示例描述了此行为。
尝试一下<html> <head> <title>动态函数调用</title> </head> <body> <?php function sayHello() { echo "Hello<br />"; } $function_holder = "sayHello"; $function_holder(); ?> </body> </html>