zoukankan      html  css  js  c++  java
  • Notice: Only variable references should be returned by reference(PHP版本兼容性问题)

    摘自:http://sushener.spaces.live.com/blog/cns!BB54050A5CFAFCDD!435.entry

    PHP5一个很让人恼火的一点就是BC(向后兼容)不是很理想。比如说,很多的PHP4的脚本都可能会出现下面的错误提示:Notice: Only variable references should be returned by reference
     
    具体什么样的脚本会出现这样的错误呢,我举个例子:
     
    <?php
    function & foo($param)
    {
    if($param == 1)
    {
    return array();
    }
    return false;
    }
    var_dump(foo(1));
    ?>
     
    解决的方法很简单,如下:
     
    <?php
    function & foo($param)
    {
    $result = false;
    if($param == 1)
    {
    $result = array();
    }
    return $result;
    }
    var_dump(foo(1));
    ?>
     
    其实,即使不出现上面那样的Notice错误,程序也应该按照下面的编码方式来写,因为对于第一段代码,出现了多次的return,也就是说有 多个出口,而第二段代码只在最后出现了一次,程序只有一个出口,所以当你的程序很复杂的时候,第二段代码的可读性要更好一些,当然有时候按照第二种写法会 出现一些看似不必要的if…else…语句,但是我们还是应该坚持这样写。^_^
  • 相关阅读:
    Atom 和 markdown 基本使用
    c++11 正则表达式基本使用
    Emacs 之窗口管理
    Emacs 之列编辑模式
    Emacs 之查看帮助
    使用 json_in_java
    Linux服务 httpd
    Linux 编译安装BIND
    Kerberos
    Linux服务 DNS&BIND
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/5426843.html
Copyright © 2011-2022 走看看