解决方案 »

  1.   

    学习
    今天看一个app上的笑话
    也是讲的php  exit与die
    举的是生孩子的例子.............................
      

  2.   

    首先,别名这个问题长见识了。
    另外 && 和 and 我只知道,当使用 条件1 && 条件2 的时候,如果条件1为false,那么条件2就不会执行,and则会计算2个,今天算是知道本质原因了。
      

  3.   


    不是的无论是&&还是AND,当左边表达式计算结果为false后都不会再计算右边表达式$i = 0;
    1>2 && $i = 1;
    echo $i;
    -----------------
    $i = 0;
    1>2 AND $i = 1;
    echo $i;这两段代码结果都是0。这个例子可以说明这个问题,在这个断言问题上,&&与AND是一样的。
    同样
    1<2 || $i = 1;和1<2 OR $i = 1;这里的效果也是一样。
    &&和AND的区别是,&&比=的优先级高,而AND的优先级比=低,所以:
    $a = 1 && 0;
    可以理解为:
    $a = (1 && 0);而
    $b = 1 AND 0;
    可以理解为:
    ($b = 1) AND 0;
      

  4.   

    xie xie
    谢    谢
      

  5.   

    第一次见token_get_all()这个函数
      

  6.   

    其实了解了这里php如何处理的别名问题,我们甚至可以自定义php的语法,自己添加新语言结构作为其他语句的别名了。
    只需要zend_language_scanner.l中,在
    <ST_IN_SCRIPTING>"exit" {
    return T_EXIT;
    }<ST_IN_SCRIPTING>"die" {
    return T_EXIT;
    }下面,增加
    <ST_IN_SCRIPTING>"stop" {
    return T_EXIT;
    }重新编译,恭喜你又多了stop语句可以用。因为只是作为其他语言结构的别名,返回的仍然是现有token,并没有增加新的,所以不需要做任何后续处理。stop语句的效果和exit、die完全一样,纯粹的别名关系。当然如果你需要增加一个新功能的php语言结构,那也需要增加新的token,并且增加对新token的处理逻辑。就不止改这么一个地方那么简单了。
      

  7.   

    我一直用die,有天我问我同学用过没,他说他exit,我愣了好久才想起是别名··· 
      

  8.   

    今天 第一天学习~~~php  嘿嘿~~~今天来 打一下酱油