3.72PHP在函数间传递参数

Posted by 撒得一地 on 2015年11月30日 in PHP入门教程

在调用函数时,需要向函数传递参数,被传入的参数称为实参,而函数定义的参数为形参。参数传递的方式有按值传递、按引用传递和默认参数三种。

1.按值传递方式

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

<?php
  //定义一个函数
  function example($m){
     $m = $m * 5 + 10;
     //输出形参的值
     echo "在函数内:\$m=".$m; 
  }
  $m = 5;

  //传递值,将$m的值传递给形参$m
  example($m);

  //实参的值没有发生变化,输出5
  echo "<p>在函数外\$m=$m</p>";
?>

上面的值输出:

在函数内:$m=35
在函数外:$m=5

2.按引用传递方式

按引用传递就是将实参的内存地址传递到形参中。这时,在函数内部的所有操作都会影响到实参的值,返回后,实参的值会发生变化。引用传递方式就是传值时在原基础上加&号即可。
实例:

<?php
  //定义一个函数,同时传递参数$m的变量
  function example(&$m){
     $m = $m*5 + 10;
     echo "在函数内:\$m=".$m; 
  }
   $m = 5;

  //传递值,将$m的值传递给形参$m
  example($m);

  //实参的值发生变化,输出35
  echo "<p>在函数外\$m=$m</p>";
?>

上面的值输出:

在函数内:$m=35
在函数外:$m=35

3.默认参数(可选参数)

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

<?php
  //定义一个函数,其中的一个参数初始值为0
  function values($price,$tax=0){
     //声明一个变量$price,等于两个参数的运算结果
     $price = $price+($price*$tax);
     echo "价格:$price<br/>";
  }

  //设可选参数赋值0.25
  values(100,0.25);
  values(100);
?>

上面输出:

价格:125
价格:100

当使用默认参数时,默认参数必须放在非默认参数的右侧,否则函数可能出错。从PHP5开始,默认值也可以通过引用传递。

标签:

上一篇:

下一篇:

相关推荐

网站地图|XML地图

Copyright © 2015-2024 技术拉近你我! All rights reserved.
闽ICP备15015576号-1 版权所有©psz.