PHP学习----函数作用域问题

函数作用域问题

想简单的写个函数增1,代码如下:

    function increment($value,$amount = 1){
        $value = $value + $amount;
    }
    $value=10;
    increment($value);
    echo $value;

输出结果是
10

纳尼,没有道理啊

仔细阅读发现问题:函数中定义的变量,只能在函数中作用,出来屁都不是。

那要怎样实现函数的增1呢
修改如下:

    function increment($value,$amount = 1){
        $value = $value + $amount;
        echo $value;
    }
    $value=10;
    increment($value);

在函数外部调用函数,在函数内部直接输出

或者如下操作:

    function increment(&$value,$amount = 1){ //&引用不是获得变量原本的值,而是指向原值。任何对引用的修改都会影响元变量值
        $value = $value + $amount;
    }
    $a=10; //定义a方便理解,名字为value结果一样
    increment($a);
    echo $a;   

小记

在开发项目时,一般编写函数我们会选择在函数内部就完成该函数的功能,而不能在函数外部处理一些功能(例如:输出。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值