PHP函数按引用传递的例子

PHP函数按引用传递的例子

首先让我们来看一段代码如下:

  1. <?php
  2.   $cost = 20.99 ;
  3.   $tax = 0.75 ;
  4.   function calculateCost ( & $cost , $tax ){
  5.   $cost = $cost + ( $cost * $tax ) ;
  6.   $tax += 4 ;
  7.   }
  8.  calculateCost ( $cost , $tax ) ;
  9.   printf ( "Tax is:%1.2f<br />" , $tax ) ;
  10.   printf ( "Cost is:%1.2f" , $cost ) ;
  11. ?>

这段代码首先在函数calculateCost的外部定义了两个变量:$cost和$tax,然后在函数内部对这个变量值进行了相应的修改:
$cost=$cost+($cost*$tax); $tax+=4;接下来就是调用了函数calculateCost($cost,$tax);其printf(”Tax is:%1.2f
“,$tax);格式化输出了函数的值,保留两位小数.我们知道函数的作用域的问题,在函数内部修改的值只会在函数内部反应出来,也就是在{}内反应,对于函数外部的变量它是"感受"不到这种变化的存在的.那么让我看下输出:
Tax is:0.75
Cost is:36.73
正如我们所预想的那样,对于变量tax其值还是原来的值,但变量cost却出乎意料的"感受"到了变化.这是因为在函数的参数前面有"&"符号,正是这个符号的存在使得它能够"感受"到内部函数对它的修改.所以按值和按引用的差别也就是在这里了.如果你想让函数内部的值的修改同时也能够反应到函数外部,你只要在对应的参数前面加上"&"就OK了.

 

原文链接:PHP函数按引用传递的例子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值