PHP函数与其他编程语言类似.函数是一段代码,它以参数的形式接受一个输入并进行一些处理并返回一个值.
你已经看过很多函数,比如 fopen() 和 fread()等.它们是内置函数,但PHP也为您提供了创建自己的函数的选项.
有两个你应该清楚的部分和减号;
创建PHP函数
调用PHP函数
实际上你几乎不需要创建自己的PHP函数,因为已经为不同的区域和你创建了1000多个内置的库函数只需根据您的要求调用它们.
请参阅 PHP函数参考一套完整的有用函数.
创建自己的PHP函数非常容易.假设您要创建一个PHP函数,只需在您调用它时在浏览器上写一条简单的消息.下面的示例创建一个名为writeMessage()的函数,然后在创建它之后立即调用它.
请注意,在创建函数时,其名称应以关键字 function 开头,所有PHP代码都应放在{和}大括号内,如下面的示例所示 :
<html> <head> <title>Writing PHP Function</title> </head> <body> <?php /* Defining a PHP Function */ function writeMessage() { echo "You are really a nice person, Have a nice time!"; } /* Calling a PHP Function */ writeMessage(); ?> </body> </html>
这将显示以下结果 :
You are really a nice person, Have a nice time!
PHP为您提供了在函数内传递参数的选项.您可以传递尽可能多的参数.这些参数与函数内部的变量类似.下面的示例采用两个整数参数并将它们一起添加然后打印出来.
<html> <head> <title>Writing PHP Function with Parameters</title> </head> <body> <?php function addFunction($num1, $num2) { $sum = $num1 + $num2; echo "Sum of the two numbers is : $sum"; } addFunction(10, 20); ?> </body> </html>
这将显示以下结果 :
Sum of the two numbers is : 30
可以通过引用将参数传递给函数.这意味着函数操作对变量的引用而不是变量值的副本.
在这些情况下对参数所做的任何更改都将更改原始变量的值.您可以通过在函数调用或函数定义中向变量名添加一个&符来通过引用传递参数.
以下示例描述了两种情况.
<html> <head> <title>Passing Argument by Reference</title> </head> <body> <?php function addFive($num) { $num += 5; } function addSix(&$num) { $num += 6; } $orignum = 10; addFive( $orignum ); echo "Original Value is $orignum<br />"; addSix( $orignum ); echo "Original Value is $orignum<br />"; ?> </body> </html>
这将显示以下结果 :
Original Value is 10 Original Value is 16
函数可以使用
您可以使用返回数组(1,2,3)从函数返回多个值,4).
以下示例采用两个整数参数并将它们一起添加,然后将它们的总和返回给调用程序.请注意, return 关键字用于从函数返回值.
<html> <head> <title>Writing PHP Function which returns value</title> </head> <body> <?php function addFunction($num1, $num2) { $sum = $num1 + $num2; return $sum; } $return_value = addFunction(10, 20); echo "Returned value from the function : $return_value"; ?> </body> </html>
这将显示以下结果 :
Returned value from the function : 30
如果参数设置参数,则可以设置默认值函数的调用者没有传递它.
以下函数打印NULL,以防使用时没有向该函数传递任何值.
<html> <head> <title>Writing PHP Function which returns value</title> </head> <body> <?php function printMe($param = NULL) { print $param; } printMe("This is test"); printMe(); ?> </body> </html>
这将产生以下结果 :
This is test
可以将函数名称作为字符串分配给变量,然后完全按照您的方式处理这些变量函数名称本身.以下示例描述了此行为.
<html> <head> <title>Dynamic Function Calls</title> </head> <body> <?php function sayHello() { echo "Hello<br />"; } $function_holder = "sayHello"; $function_holder(); ?> </body> </html>
这将显示以下结果 :
Hello