设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP函数参数的传递和运用是怎样的

发布时间:2022-11-10 09:13 所属栏目:121 来源:互联网
导读:这篇文章给大家分享的是PHP函数参数的传递和使用是怎样的,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。 通过参数列表可以传递信息到函数,即以逗号作为分隔符的表达式列表。参数是从左向右求值的。
  这篇文章给大家分享的是“PHP函数参数的传递和使用是怎样的”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。
 
  通过参数列表可以传递信息到函数,即以逗号作为分隔符的表达式列表。参数是从左向右求值的。
 
  PHP 支持按值传递参数(默认),通过引用传递参数以及默认参数。也支持可变长度参数列表,更多信息参见 func_num_args(), func_get_arg() 以及 func_get_args()。
 
  Example #1 向函数传递数组
 
  <?php   
 
      function takes_array($input)
 
          echo "$input[0] + $input[1] = ", $input[0]+$input[1];    
 
      }
 
  ?>
 
  通过引用传递参数
 
  默认情况下,函数参数通过值传递(因而即使在函数内部改变参数的值,它并不会改变函数外部的值)。如果希望允许函数修改它的参数值,必须通过引用传递参数。 如果想要函数的一个参数总是通过引用传递,可以在函数定义中该参数的前面加上符号 &:
 
  Example #2 用引用传递函数参数
 
  <?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.'
 
  ?>
 
  默认参数的值
 
  函数可以定义 C++ 风格的标量参数默认值,如下所示:
 
  Example #3 在函数中使用默认参数
 
  <?php
 
  function makecoffee($type = "cappuccino")
 
  {
 
      return "Making a cup of $type.\n";
 
  }
 
  echo makecoffee();
 
  echo makecoffee(null);
 
  echo makecoffee("espresso");
 
  ?>以上例程会输出:
 
  Making a cup of cappuccino.
 
  Making a cup of .
 
  Making a cup of espresso.
 
  PHP 还允许使用数组 array 和特殊类型 NULL 作为默认参数,例如:
 
  Example #4 使用非标量类型作为默认参数
 
  <?php
 
  function makecoffee($types = array("cappuccino"), $coffeeMaker = NULL)
 
  {
 
     $device = is_null($coffeeMaker) ? "hands" : $coffeeMaker;
 
     return "Making a cup of ".join(", ", $types)." with $device.\n";
 
  }
 
  echo makecoffee();
 
  echo makecoffee(array("cappuccino", "lavazza"), "teapot");
 
  ?>
 
  默认值必须是常量表达式,不能是诸如变量,类成员,或者函数调用等。
 
  注意当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧;否则,函数将不会按照预期的情况工作。考虑下面的代码片断:
 
  Example #5 函数默认参数的不正确用法
 
  <?php
 
  function makeyogurt($type = "acidophilus", $flavour){
 
      return "Making a bowl of $type $flavour.\n";
 
  }
 
  echo makeyogurt("raspberry");   // won't work as expected
 
  ?>
 
  以上例程会输出:
 
  Warning: Missing argument 2 in call to makeyogurt() in
 
  /usr/local/etc/httpd/htdocs/phptest/functest.html on line 41
 
  Making a bowl of raspberry .
 
  现在,比较上面的例子和这个例子:
 
  Example #6 函数默认参数正确的用法
 
  <?php
 
  function makeyogurt($flavour, $type = "acidophilus"){
 
      return "Making a bowl of $type $flavour.\n";
 
  }
 
  echo makeyogurt("raspberry");   // works as expected
 
  ?>
 
  以上例程会输出:
 
  Making a bowl of acidophilus raspberry.
 
  Note: 自 PHP 5 起,默认值可以通过引用传递。
 
  可变数量的参数列表
 
  PHP 在用户自定义函数中支持可变数量的参数列表。其实很简单,只需使用 func_num_args(), func_get_arg(),和 func_get_args() 函数即可。
 
  可变参数并不需要特别的语法,参数列表仍按函数定义的方式传递给函数,并按通常的方式使用这些参数。
 
 

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读