PHP 函数
PHP函数与其他编程语言类似。函数是一段代码,它以参数的形式接受一个或多个输入,并进行一些处理,然后返回一个值。
你已经见过许多函数,例如 fopen() 和 fread() 等。它们是内置函数,但PHP也允许你创建自己的函数。
有两个部分需要明确:
- 创建一个PHP函数
- 调用一个PHP函数
事实上,你几乎不需要创建自己的PHP函数,因为已经有了超过1000个内置库函数,涵盖了不同的领域,你只需要根据需要调用它们。
请参考PHP函数参考以获取一套完整的有用函数。
创建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带参数的函数
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
PHP返回值的函数
函数可以使用 return 语句与值或对象一起返回一个值。return会停止函数的执行并将值发送回调用代码。
您可以使用 return array(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) {
printparam;
}
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