找回密码
 立即注册
搜索
热搜: 生活 中国

在函数间传递参数

[复制链接]
admin 发表于 2013-10-7 01:44:56 | 显示全部楼层 |阅读模式
在函数间传递参数

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

1.按值传递方式

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

例:首先定义一个函数example(),功能是将传入的参数值做一些运算后再输出。接着在函数外部定义一个变量$m,也就是要传进来的参数。最后调用函数example($m),输出函数的返回值$m和变量$m 的值。

 

  1. <?php
  2. function example($m){ //定义一个函数
  3. $m=$m*5+10;
  4. echo "在函数内: \$m=".$m; //输出形参的值
  5. }
  6. $m=1;
  7. example($m); //传递值,将$m的值传递给形参$m
  8. echo "<p>在函数外 \$m = $m<p>"; //实参的值没有发生变化,输出m=1
  9. ?>
复制代码
版权所有:相商动易

2.按引用传递方式

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

  1. <?php
  2. function example(&$m){ //定义一个函数,同时传递参数$m的变量
  3. $m=$m*5+10;
  4. echo "在函数内: \$m=".$m; //输出形参的值
  5. }
  6. $m = 1;
  7. example($m); //传递值:将$m的值传递给形参$m
  8. echo"<p>在函数外: \$m=$m<p>"; //实参的值发生变化,输出 m=15
  9. ?>
复制代码
版权所有:相商动易

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

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

例:使用可选参数实现一个简单的价格计算功能,设置自定义函数values的参数为可选参数,其默认值为空。第一次调用该函数,并且给参数$tax赋值0.25,输出价格,第二次调用该函数,不给参数$tax赋值,输出价格。

  1. <?php
  2. function values($price,$tax=""){ //定义一个函数,其中的一个参数初始值为空
  3. $price=$price+($price*$tax); //声明一个变量$price,等于两个参数的运算结果
  4. echo "价格:$price<br>"; //输出价格
  5. }
  6. values(100,0.25); //为可选参数赋值0.25
  7. values(100)
  8. ?>
复制代码
版权所有:相商动易
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生活导航|生活导航 ( 新ICP备12003026-1号 )

GMT+8, 2024-5-10 01:50 , Processed in 0.089652 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表