• 技术文章 >后端开发 >php教程

    关于PHP传值与传引用的奇怪有关问题

    2016-06-13 10:50:58原创289
    关于PHP传值与传引用的奇怪问题
    PHP code
    $a = 1;$b = &$a;$b = $a++;echo $b."
    ";echo $a;

    谁能告诉我 最后得到的$a和$b结果是什么,为什么是这个结果?

    ------解决方案--------------------
    我觉得奇怪的是:为什么总是要自己消化 BUG
    这个问题已经有好多年历史了,但从来没有人报告此bug
    分析具体原因需要看源码,但是在是太难定位了

    按语法说明 $a++ 与 $a = $a + 1 等价
    就是说
    $b = $a++;
    等价于
    $b = $a;
    $a = $a + 1;

    如果没有前面的引用
    $b = &$a;
    echo $a;
    是可以得到正确的结果 2 的

    由于有了引用,规则就发生了变化。这显然是不对的!
    这是在 php 实现引用时的一个 bug
    当然他也可能意识到问题的存在,但无法解决

    总之由于这个 bug 的存在,你就尽量不要显式的使用引用

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:BUG echo PHP quot amp
    上一篇:smarty,该如何解决 下一篇:PHPExcel导出图片大小设置有关问题
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• ThinkPHP2.0调整使用Smarty模板 • 关于PHP的_set()跟_get() • PHP基础知识小结 • DoitPHP 1.2正式公布 • MAC Environment Setting Up(二)PHP environment
    1/1

    PHP中文网