php用户自定义函数

定义

任何有效的 PHP 代码都有可能出现在函数内部,甚至包括其它函数定义。
函数名和 PHP 中的其它标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。

一般情况下,函数无需在调用之前被定义,除非是下面两个例子。

  • 有条件函数
$is_fun = true;
fun() // 错误,因为函数是有条件被定义的 
bar() // 可以正确调用
if ($is_fun ) {
  function fun() { }
}
function bar(){}
  • 函数中函数
bar() //错误的调用,因为bar在foo里面,foo没调用之前bar是不存在的。
foo() //正确
bar() //现在可以正确的 调用bar()了,运行了foo后,bar也被创建了。
function foo()
{
  function bar(){ }
}

作用域|规则

PHP 中的所有函数和类都具有全局作用域,可以定义在一个函数之内而在之外调用,反之亦然。
函数名是不区分大小写的。Foo()foo()是同一函数。
PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数。

关于递归函数

递归函数常用的方案是传递一个引用,来实现树结构。也用来遍历一个多维数组等。
递归函数超过200层,将会抛出错误,无限递归也被视为编程错误!

<?php
function foo($a)
{
    if ($a < 20) {
        foo($a + 1);
    }
}
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容