Practical PHP Programming

函数概要

在开始之前,我们首先来看一下怎样在你的代码中使用PHP内建函数,因为你在编写你自己的函数之前,总要会调用函数的。

在PHP中调用函数就是在函数名之后加上括号()这么简单。许多函数带有参数,参数是可以影响函数执行的值。基本所有的函数都有一个返回值,相当于函数的结果,你也可以用一个函数的返回值作为参数传递个另一个函数:

func1(func2(func3(), func4));

作者说明:参数是在函数声明中列出的变量,定义了应该传递给函数什么样的值,而函数调用过程中传递的实际参数称为 argument (实参)。许多人将“parameter”和“argument”混合使用,另一部分人则严格按照技术上的定义进行区分。本书中两个概念交替使用,所以你不必对二者进行区分。

有些参数是必须的,有些参数是可选的——也就是说,你可以不提供它们。当没有提供可选参数时,PHP会假设你用了默认值,通常来说,这个是用得最多的。

当你向一个函数传递参数时,实际上PHP将这个参数的副本传递到函数内部。这就意味着你可以在函数内部任意改变这个副本的值,而在函数外部,这个参数的值保持不变。如果你不想这样,可以选择将值作为引用传入,这样你对变量所做的改变,在函数结束之后依旧保留。下面这段代码说明了这个区别:

<?php
    somefunc($foo);
    somefunc($foo, $bar);
    somefunc($foo, &$bar);
    somefunc(&$foo, &$bar);
?>

第一行调用了somefunc()并传递了$foo的副本,第二个传递了$foo$bar的副本,第三个传递了$foo的副本和$bar本身,第三个传递了$foo$bar本身。像第三行中的$bar和第四行中的$foo$bar一样通过引用传递,就是说这些变量的值可以在函数内部被改变,通常通过函数的返回值来使用。