php中函数作用域问题


        $fee = 310;
        $serviceprice = 50;
        
        function total($fee,$serviceprice){
            
            $fee += $serviceprice;
            echo "您共需支付:$fee"."元";
        }
        
        total($fee,$serviceprice); // 360元

刚学php 遇到了,这个是可以正常执行的,好像没有了作用域问题了.......

是我理解错了吗?

阅读 2.2k
4 个回答

这个问题可以这样解释,你这个代码跑起来就是定义参数,定义函数,传入参数执行函数

你把 echo 从total 方法里移动到程序结尾,会遇到变量作用域问题。

定义函数的时候传入的参数是形参,调用函数的时候传入的参数是实参;至于你说的作用域是什么就不明白了.

函数里面的参数只是形式上的参数,当函数运行的时候,其实是将变量的值,赋给了参数; total($fee,$serviceprice)相当于total($fee = 310,$serviceprice =50); 与函数外的变量无关,他们只不过是变量名字一样;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题