• PHP 函数


    PHP 的真正威力源自于它的函数。

    在 PHP 中,提供了超过 1000 个内建的函数。


    PHP 内建函数

    如需查看所有数组函数的完整参考手册和实例,请访问我们的 PHP 参考手册


    PHP 函数

    在本章中,我们将为您讲解如何创建自己的函数。

    如要在页面加载时执行脚本,您可以把它放到函数里。

    函数是通过调用函数来执行的。

    你可以在页面的任何位置调用函数。


    创建 PHP 函数

    函数是通过调用函数来执行的。

    语法

    <?php function functionName() { // 要执行的代码 } ?>

    PHP 函数准则:

    • 函数的名称应该提示出它的功能
    • 函数名称以字母或下划线开头(不能以数字开头)

    实例

    一个简单的函数,在其被调用时能输出我的名称:

    实例

    <?php function writeName() { echo "Kai Jim Refsnes"; } echo "My name is "; writeName(); ?>

    输出:

    My name is Kai Jim Refsnes
    


    PHP 函数 - 添加参数

    为了给函数添加更多的功能,我们可以添加参数,参数类似变量。

    参数就在函数名称后面的一个括号内指定。

    实例 1

    下面的实例将输出不同的名字,但姓是相同的:

    实例

    <?php function writeName($fname) { echo $fname . " Refsnes.<br>"; } echo "My name is "; writeName("Kai Jim"); echo "My sister's name is "; writeName("Hege"); echo "My brother's name is "; writeName("Stale"); ?>

    输出:

    My name is Kai Jim Refsnes.
    My sister's name is Hege Refsnes.
    My brother's name is Stale Refsnes.
    

    实例 2

    下面的函数有两个参数:

    实例

    <?php function writeName($fname,$punctuation) { echo $fname . " Refsnes" . $punctuation . "<br>"; } echo "My name is "; writeName("Kai Jim","."); echo "My sister's name is "; writeName("Hege","!"); echo "My brother's name is "; writeName("Ståle","?"); ?>

    输出:

    My name is Kai Jim Refsnes.
    My sister's name is Hege Refsnes!
    My brother's name is Ståle Refsnes?
    

    PHP 函数 - 返回值

    如需让函数返回一个值,请使用 return 语句。

    实例

    <?php function add($x,$y) { $total=$x+$y; return $total; } echo "1 + 16 = " . add(1,16); ?>

    输出:

    1 + 16 = 17

    PHP 变量函数

    变量函数是指在 PHP 中,将一个变量作为函数名来调用的函数。

    变量函数可以让我们在运行时动态地决定调用哪个函数。

    实例

    <?php
    function foo() {
        echo "In foo()<br />\n";
    }

    function bar($arg = '')
    {
        echo "In bar(); argument was '$arg'.<br />\n";
    }

    // 使用 echo 的包装函数
    function echoit($string)
    {
        echo $string;
    }

    $func = 'foo';
    $func();        // 调用 foo()

    $func = 'bar';
    $func('test');  // 调用 bar()

    $func = 'echoit';
    $func('test');  // 调用 echoit()
    ?>

    也可以用变量函数的语法来调用一个对象的方法。

    实例

    <?php
    class Foo
    {
        function Variable()
        {
            $name = 'Bar';
            $this->$name(); // 调用 Bar() 方法
        }

        function Bar()
        {
            echo "This is Bar";
        }
    }

    $foo = new Foo();
    $funcname = "Variable";
    $foo->$funcname();  // 调用 $foo->Variable()

    ?>