用户自定义函数

用户自定义函数
jiutian99
jiutian99
230
阅读
0
评论
2021年11月17日17:46:02 0 230

用户自定义函数

一个函数可由以下的语法来定义: 

Example #1 展示函数用途的伪代码

<?php

function foo($arg_1, $arg_2, /* ..., */ $arg_n)

{

    echo "Example function.\n";

    return $retval;

}

?>  

任何有效的 PHP 代码都有可能出现在函数内部,甚至包括其它函数和类定义。 

函数名和 PHP 中的其它标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。可以用正则表达式表示为:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*。 

Tip

请参见用户空间命名指南。

函数无需在调用之前被定义,除非是下面两个例子中函数是有条件被定义时。 

当一个函数是有条件被定义时,其定义必须在调用之前先处理。 

Example #2 有条件的函数

<?php

$makefoo = true;

/* 不能在此处调用foo()函数,

   因为它还不存在,但可以调用bar()函数。*/

bar();

if ($makefoo) {

  function foo()

  {

    echo "I don't exist until program execution reaches me.\n";

  }

}

/* 现在可以安全调用函数 foo()了,

   因为 $makefoo 值为真 */

if ($makefoo) foo();

function bar()

{

  echo "I exist immediately upon program start.\n";

}

?>  

Example #3 函数中的函数

<?php

function foo()

{

  function bar()

  {

    echo "I don't exist until foo() is called.\n";

  }

}

/* 现在还不能调用bar()函数,因为它还不存在 */

foo();

/* 现在可以调用bar()函数了,因为foo()函数

   的执行使得bar()函数变为已定义的函数 */

bar();

?>  

PHP 中的所有函数和类都具有全局作用域,可以定义在一个函数之内而在之外调用,反之亦然。 

PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数。 

Note: 函数名是大小写无关的,不过在调用函数的时候,使用其在定义时相同的形式是个好习惯。  

PHP 的函数支持可变数量的参数和默认参数。参见 func_num_args(), func_get_arg() 和 func_get_args()。 

在 PHP 中可以调用递归函数。但是要避免递归函数/方法调用超过 100-200 层,因为可能会使堆栈崩溃从而使当前脚本终止。 

Example #4 递归函数

<?php

function recursion($a)

{

    if ($a < 20) {

        echo "$a\n";

        recursion($a + 1);

    }

}

?> 


打赏 点赞(0)
weinxin
投诉建议
文章名+链接地址,发送到此微信:tourism52
历史上的今天
07月
07
Iterator::key 菜鸟教程

Iterator::key

Iterator::key(PHP 5 >= 5.0.0)Iterator::key — 返回当前元素的键说明abstract public scalar Iterator:...
jquery,学习,笔记 菜鸟教程

jQuery学习笔记

jQuery大部分功能需要根据文档的DOM模型来工作,首先需要正确地解析到整个文档的DOM模型结构。使用jQuery需要在整个文档被浏览器完全加载后才开始进行。 &nbs...
HTML DOM 属性 对象 菜鸟教程

HTML DOM 属性 对象

HTML DOM 属性 对象 HTML DOM 节点 在 HTML DOM (Document Object Model) 中, 所有的都是节点: 文档是文档节点 所有 HTML ...
Xml,总结,与,应用,Xml,总结,与,应用,什么,是,XML, 菜鸟教程

Xml总结与应用

Xml总结与应用 什么是XML,为什么学习XML? Extensible Markup Language,翻译过来为可扩展标记语言。Xml技术是w3c组织发布的,目前推荐遵循的是W...
HTML DOM Li 对象 菜鸟教程

HTML DOM Li 对象

HTML DOM Li 对象 Li 对象 Li 对象表示一个 HTML li 元素。 访问 Li 对象 您可以使用 getElementById() 来访问 li 元素: var ...

评论列表 共有 0 条评论

暂无评论