PHP函数
PHP教程 - PHP函数
函数是执行特定任务的自包含代码块。
函数避免重复代码。它们使得更容易消除错误。
函数可以在其他脚本中重用。他们帮助你分解一个大项目。
参数
函数通常接受一个或多个参数,它们是由调用它的代码传递给函数的值。
然后函数可以读取并处理这些参数。
返回
函数可以可选地返回可以由调用代码读取的值。
这样,调用代码可以与函数通信。
PHP函数创建
我们用function关键字定义函数,后面是函数的名称和两个括号。
你的函数将执行的实际代码大括号之间。
定义函数使用以下语法:
function myFunc() { // (do stuff here) }
示例 - 定义函数
定义函数
<?PHP function hello() { echo "Hello, world!\n"; } hello(); ?>
上面的代码生成以下结果。
正如你可以看到,这个脚本定义一个函数,hello(),只是显示string“Hello,world!"
hello()函数中的代码仅在稍后调用函数时运行,而不是当函数本身被创建时。
PHP函数返回
函数可以从函数返回一个值使用return语句。
如果你试图给一个变量赋值一个函数的返回值没有返回值,你的变量将被设置为NULL。
示例 - 函数的返回值
从函数返回值
<?PHP function foo() { print "In function"; return 1; print "Leaving function..."; } print foo(); ?>
上面的代码生成以下结果。
PHP返回参考
除了通过引用将变量传递给函数,你也可以得到返回引用的函数,而不是价值观。
在函数中的函数名称前添加一个&符号定义。 然后,当您使用return语句返回一个变量时,你传递一个引用变量返回调用代码,而不是变量的s值:
function &myFunc(){ // (do stuff) return $var; // Returns a reference to $var }
从函数返回引用
<?PHP $myNumber = 5; function &getMyNumber() { global $myNumber; return $myNumber; } $numberRef = &getMyNumber(); $numberRef++; echo "\$myNumber = $myNumber\n"; // Displays "6" echo "\$numberRef = $numberRef\n"; // Displays "6" ?>
上面的代码生成以下结果。
PHP递归函数
递归函数是调用自身的函数。
这里是一个递归函数如何操作的快速概述:
递归函数由调用代码调用如果满足基本情况,则该函数需要计算,然后退出。
否则,该函数需要计算,然后调用自身继续递归。
这里是一个计算阶乘的例子:
<?PHP function factorial($number) { if ($number == 0) return 1; return $number * factorial($number-1); } print factorial(6); ?>
上面的代码生成以下结果。
示例 - PHP递归函数
下面的代码显示了如何创建递归函数。
<?php function checkInteger($Number) { if($Number > 1) { // integer minus one is still an integer return(checkInteger($Number-1)); } elseif($Number < 0) { //numbers are symmetrical, so //check positive version return(checkInteger((-1)*$Number-1)); } else { if(($Number > 0) AND ($Number < 1)) { return("no"); } else { //zero and one are //integers by definition return("yes"); } } } print("Is 0 an integer? " . checkInteger(0) . "<br>\n"); print("Is 7 an integer? " . checkInteger(7) . "<br>\n"); print("And 3.5? " . checkInteger(3.5) . "<br>\n"); print("What about -5? " . checkInteger(-5) . "<br>\n"); print("And -9.2? " . checkInteger(-9.2) . "<br>\n"); ?>
上面的代码生成以下结果。
PHP匿名函数
PHP匿名函数没有名称。
您可能需要创建匿名函数,有两个原因:
- To create functions dynamically
- To create short-term, disposable functions
句法
要创建匿名函数,请使用分隔的参数列表(如果有)和函数体的代码。
$myFunction = create_function( "$param1, $param2", "function code here;" );
匿名函数示例
这里是一个基于变量值动态创建匿名函数的示例:
<?PHP $mode = "+"; $processNumbers = create_function( "$a, $b", "return \$a $mode \$b;" ); echo $processNumbers( 2, 3 ); // Displays "5" ?>
上面的代码生成以下结果。
该代码使用$ mode变量的值作为运算符用于处理其两个参数$ a和$ b。例如,如果将$ mode更改为“*",代码将显示“6"。
示例 - 动态函数
下面的代码显示了如何动态调用函数。
<?php function write($text) { print($text); } function writeBold($text) { print("<b>$text</b>"); } $myFunction = "write"; $myFunction("Hello!"); print("<br>\n"); $myFunction = "writeBold"; $myFunction("Goodbye!"); print("<br>\n"); ?>
上面的代码生成以下结果。
更多建议: