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

    由php if 想到的些问题_PHP教程

    2016-07-21 15:53:33原创358
    复制代码 代码如下:

    /* PHP code */
    header("Content-type: text/javascript");
    if (!haveCookie('cookieName')) {
    // ... do something
    ?>
    /* Javascript code */
    if ('undefined' == typeof document.cookie['cookieName']) {
    setCookie('cookieName', 3600);
    }

    // ... do something with Javascript
    }
    ?>

    粗看起来代码已经无懈可击,我们亲爱的 小马 还是发现了问题的存在。就是在 Javascript 中的那个判断是永远为 true

    复制代码 代码如下:

    if ('undefined' == typeof document.cookie['cookieName']) {
    // ...
    }

    因为这段代码是在 PHP 端有个前提,就是

    if (!haveCookie('cookieName'))的时候,才会在客户端显示。那么,当不满足这一条件,这段代码自然就不会扔给客户端。这样说似乎有点笼统,那么先撇开 Javascript 代码,我们就单纯使用 PHP 代码表述一下

    复制代码 代码如下:

    header("Content-type: text/javascript");
    if (!haveCookie('cookieName')) {
    if (!haveCookie('cookieName')) {
    setCookie('cookieName');
    }
    }
    ?>

    这样就显得清晰了很多,并很容易就能发现问题所在 -- 我们在不经意间就多做了一次判断,虽然这是 Javascript 在客户端执行的。

    总结下,本人从这段代码想到的些废话:

    代码越长,不见得效率就越高
    在不影响逻辑和流程的情况下,尽量将多个判断写在一起
    尽量将低复杂度的函数放前判断
    过多的判断容易造成程序效率降低,在判断中使用高时间复杂度的函数时尤其要注意
    如果发现 if 嵌套得太多,就得重新考虑流程和算法
    健壮的代码不是靠过分的判断保证而成的
    将代码简化后,会发现很多还未发现的问题
    过多的判断另个角度理解,是缺乏对代码的信心
    最后,再次感谢 小马 同志。

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/318665.htmlTechArticle复制代码 代码如下: ?php /*PHPcode*/ header("Content-type:text/javascript"); if(!haveCookie('cookieName')){ //...dosomething ? /*Javascriptcode*/ if('undefined'==typeofdocum...

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐: php 想到 问题 复制 代码 如下 php PHPcode header Content-type tex
    上一篇:php下判断数组中是否存在相同的值array_unique_PHP教程 下一篇:PHP4与PHP5的时间格式问题_PHP教程
    大前端线上培训班

    相关文章推荐

    • PHP中的命名空间定义与使用(实例详解)• PHP中clone关键字和__clone()方法的使用(实例详解)• 带你分清类中的构造函数与析构函数• 五分钟带你了解PHP中的魔术方法(实例详解)• 怎样去搞定PHP类的继承?(总结分享)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网