💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
#### 定义 一个函数可由以下的语法来定义: ~~~php <?php function foo($arg1, ..., $argn) { //do something return $retval; } ~~~ #### 命名规范 函数名和 PHP 中的其它标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。 #### 函数无需在调用之前被定义 ~~~php <?php function actionA() { echo "A"; } actionA();//可以调用 actionB();//可以调用 function actionB() { echo "B"; } ~~~ 除非函数是有条件被定义或者在函数中调用函数,一般都无须在调用函数之前定义。 #### 函数中调用函数 ~~~php <?php function actionA() { function actionB() { echo "B"; } } actionB();//无法调用 actionA();//定义函数 actionB() actionB();//可以调用 ~~~ PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数。 ~~~php <?php function sayHi() { echo 'Hi'; } function sayHi() { echo 'Hello'; } sayHi();//报错,不能重定义函数 sayHi() ~~~ 函数名是大小写无关的,不过在调用函数的时候,通常使用其在定义时相同的形式。 #### 递归函数 递归函数的本质是函数调用函数本身,但是要避免递归函数/方法,调用超过 100-200 层,因为可能会使堆栈崩溃从而使当前脚本终止。 无限递归可视为编程错误。 ~~~php <?php function recursion($a) { if ($a < 20) { echo "$a\n"; recursion($a + 1); } } ~~~