为了账号安全,请及时绑定邮箱和手机立即绑定

$tax = 0.5; function function1($tax) {$tax = $tax * 2; } function1($tax);echo $tax;

/ 猿问

$tax = 0.5; function function1($tax) {$tax = $tax * 2; } function1($tax);echo $tax;

PHP
ARunote 2019-06-17 15:19:46

为什么$tax=0.5,不应该是1吗?

查看完整描述

1 回答

已采纳
?
pardon110

函数形参是临时变量,它在函数执行完后,所分配的内存单元会被释放掉。

在c语言或js中,全局变量在函数作用域都能访问,但php不能直接访问普通的全局变量

php函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。若在函数体内访问使用,需要一些手段。比如用global关键字,或直接&引用传递值

function function1(&$tax){
// global $tax;
$tax = $tax * 2;
}
// 调用后,$tax输出1


查看完整回答
反对 回复 2019-06-17
  • ARunote
    ARunote
    $prices = 50; $tax = 0.5; function functionPrices(&$prices,$tax) { $prices = $prices + ($prices * $tax); $tax = $tax * 2; } functionPrices($prices,$tax); echo $prices; echo '<br />'; echo $tax; 完整是这样的额、输出结果是:75 0.5,我想知道的是输出结果$tax不应该是1吗?为什么会这样
  • ARunote
    ARunote
    function functionPrices(&$prices,tax) 应该写成这样function functionPrices(&$prices,&$tax)//才能引用

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信