zoukankan      html  css  js  c++  java
  • php函数

    在 PHP 3 中,函数必须在被调用之前定义。而 PHP 4 则不再有这样的 条件。除非函数如以下两个范例中有条件的定义。

    有条件的函数:

    <?php
    $makefoo 
    true;
    /* We can't call foo() from here
       since it doesn't exist yet,
       but we can call bar() */

    bar();

    if (
    $makefoo) {
      function 
    foo ()
      {
        echo 
    "I don't exist until program execution reaches me. ";
      }
    }

    /* Now we can safely call foo()
       since $makefoo evaluated to true */

    if ($makefoofoo();

    function 
    bar()
    {
      echo 
    "I exist immediately upon program start. ";
    }

    ?>

    函数中的函数:

    <?php
    function foo()
    {
      function 
    bar()
      {
        echo 
    "I don't exist until foo() is called. ";
      }
    }

    /* We can't call bar() yet
       since it doesn't exist. */

    foo();

    /* Now we can call bar(),
       foo()'s processesing has
       made it accessable. */

    bar();

    ?>

    函数的参数:php支持按值传递参数(默认)、通过引用传递、默认参数值。向函数传递数组:缺省情况下函数参数通过值传递

    <?php
    function takes_array($input)
    {
        echo 
    "$input[0] + $input[1] = "$input[0]+$input[1];
    }
    ?>

    引用传递函数参数:默认值通常是常量表达式,不是变量,类成员,或者函数调用

    <?php
    function add_some_extra(&$string)
    {
        
    $string .= 'and something extra.';
    }
    $str 'This is a string, ';
    add_some_extra($str);
    echo 
    $str;    // outputs 'This is a string, and something extra.'
    ?>

    默认参数的值

    <?php
    function takes_array($input)
    {
        echo 
    "$input[0] + $input[1] = "$input[0]+$input[1];
    }
    ?>

    输出结果:

    Making a cup of cappuccino.
    Making a cup of espresso

    请注意当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧;否则, 可能函数将不会按照预期的情况工作。考虑下面的代码片断
    <?php
    function makeyogurt ($flavour$type "acidophilus")
    {
        return 
    "Making a bowl of $type $flavour. ";
    }

    echo 
    makeyogurt ("raspberry");   // works as expected
    ?>

    函数返回值:返回一个引用,必须在函数声明和指派返回值给一个变量时都使用引用操作符 & 
    <?php
    function &returns_reference()
    {
        return 
    $someref;
    }

    $newref =& returns_reference();
    ?>

     

  • 相关阅读:
    例题6-8 Tree Uva548
    例题6-7 Trees on the level ,Uva122
    caffe Mac 安装
    Codeforces Round #467 (Div. 1) B. Sleepy Game
    Educational Codeforces Round37 E
    Educational Codeforces Round 36 (Rated for Div. 2) E. Physical Education Lessons
    Good Bye 2017 E. New Year and Entity Enumeration
    Good Bye 2017 D. New Year and Arbitrary Arrangement
    Codeforces Round #454 D. Seating of Students
    浙大紫金港两日游
  • 原文地址:https://www.cnblogs.com/lindsayzhao103011/p/3361712.html
Copyright © 2011-2022 走看看