PHP函数(1)

  • 2020-07-27 11:22:14
  • 阅读次数:
  • 作者:盈岚科技小编
  • 来源:http://www.lyjtt.cn

网站建设开发过程中,经常需要反复重复某种操作或者处理,如数据查询、字符串操作等,如果每个模块的操作都需要重复输入一次代码,不仅执行效率低,而且后期维护都比较麻烦,这时不妨考虑使用函数来解决这个难题。

定义和调用函数

在PHP语言中,定义函数的语法格式如下:

function fun_name($arg_1, $arg_2, ..., $arg_n){    fun_body;}

其中,function表示声明自定义函数必须使用的关键字,fun-name表示函数的名称,$arg-1、$arg-2、$arg-n等为函数的参数,参数之间通过逗号分隔,参数个数不限,也可以省略参数。

函数名和PHP中的其他标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母、数字或下划线。可以用正则表达式表示为:[a-zA-Z-\x7f-\xff][a-zA-Z0-9-\x7f-\xff]*。函数名是大小写无关的,不过在调用函数时,通常使用其在定义时相同的形式。

fun-body表示函数体,在函数体中可以包含任意多行代码,这些代码是函数的功能主体,并由这些代码执行和完成指定的任务。注意,任何有效的PHP代码都有可能出现在函数内部,甚至包括其他函数和类定义。

当定义好函数之后,就可以调用函数了,调用函数的方法比较简单,只需要引用函数名,并赋予正确的参数即可,格式如下:

fun-name($arg-1, $arg-2, ..., $arg-n) ;

函数必须在其调用之前定义。例如,下面示例中在自定义函数中定义函数,然后分别进行调用。

<?phpfunction foo(){    function bar() {    echo "I don't exist until foo() is called.\n";  }}/*现在还不能调用bar()函数,因为它还不存在*/foo();/*现在可以调用bar()函数了,因为foo()函数   的执行使得bar()函数变为已定义的函数*/bar();?>

在PHP中所有函数都具有全局作用域,可以在内部定义,在外部调用,反之亦然。

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

在PHP中可以调用递归函数。如:

<?phpfunction recursion($a){    if ($a < 20) {        echo "$a\n";        recursion($a + 1);  //调用函数自身    }}?>

在调用递归函数时,应该设置循环调用的条件和次数,因为可能会破坏堆栈从而使当前脚本终止。

函数参数

通过参数列表可以传递信息给函数,这个信息列表是以逗号作为分隔符的表达式列表。在调用函数时,需要向函数传递参数,被传入的参数被称为实参,而在定义函数时指定的参数,被称为形参。参数传递的方式有按值传递、按引用传递和默认参数3种。

  1. 按值传递参数

将实参的值复制到对应的形参中,在函数内部的操作针对形参进行,操作的结果不会影响到实参,即函数返回后,实参的值不会改变。如:

<?phpfunction fun($m){    $m = $m * 2 +  1;    echo "在函数内:\$m = ".$m;     //显示11}$m = 5;fun($m);                           //调用函数echo "在函数外:\$m = ".$m;        //显示5?>

2. 按引用传递参数

按引用传递参数是将实参的内存地址传递给形参中,这时在函数内部的所有操作都会影响到实参的值,此时再次调用实参,也会发现实参的值发生变化。如:

<?phpfunction fun(&$m){    $m = $m * 2 +  1;    echo "在函数内:\$m = ".$m;     //显示11}$m = 5;fun($m);                           //调用函数echo "在函数外:\$m = ".$m;        //显示11?>

3. 默认参数(可选参数)还有一种设置参数的方式,即可选参数。可以指定某个参数为可选参数,将可选参数放置在参数列表的末尾,并且指定其默认值。如:

<?phpfunction fun(&$m, $n=0){    $l = $m  +  $n;    if($n == 0)        echo "\$m = ".$l."<p>";    else        echo "\$m  +  \$n = ".$l."<p>";}$m = 5;$n = 5;fun($m);                     //显示:$m = 5fun($m, $n);                 //显示:$m + $n = 10?>

PHP还允许使用数组和特殊类型NULL作为默认参数,默认值必须是常量表达式,不能是诸如变量、类成员,或者函数调用等表达式。

注意:当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧;否则,函数将不会按照预期的情况工作。

当前文章标题:PHP函数(1)

当前URL:http://www.lyjtt.cn/news/wzzz/3247.html

上一篇:PHP流程控制(3)

下一篇:PHP函数(2)

网站建设、抖音推广、头条推广、微信朋友圈推广、快手推广专线:181-8386-5875(微信同号)