第一次看到这种语法 知道的麻烦说说
如下“$postKey._.$i = $key;我试验了一下 如果打印出$postKey._.$i的话  等同于:$i = $key;
$postKey._.$i;相当于先赋值,然后在结合起来。想问问这样做的目的是什么?有啥好处?另外,发现字符串进行链接的时候,字符串可以不用双引号给括起来  太自由了

解决方案 »

  1.   

    $postKey._.$i = $key;  //这样根本就有语法错误,除非人为修改了php.ini
    $postKey .= $i = $key; //先赋值再连接,通用语法是这样
      

  2.   

    真的 
    我不说谎$postKey = "ABCD";
    $key = "EFG";
    $postKey._.$i = $key;
    print $postKey._.$i;结果是:ABCD_EFG环境是:Apache 2.2.14   PHP 5.3.1
      

  3.   

    事情的发生是这样的......echo abc.def;首先会找是否有定义一个叫abc的常量,如果有,输出其值,如果无,转换abc为字符串,同时报一个notice信息这个和你用下面的代码类似define('a','b');  // 有无这句,结果是不一样的
    $x=array('a'=>100,'b'=>200);
    echo $x[a];   // 这里a如果无定义常量,就转为字符串
      

  4.   

    Notice: Use of undefined constant!
    这种写法,虽然会成功输出字符串,但并不可取.
    试想创造这种写法的兄弟可能还为自己的想法沾沾自喜呢,
    殊不知......
      

  5.   

    此例告诉我们,
    1 在测试环境下要试着打开NOTICE错误, 否则可能会出笑话.
    2 要养成良好的习惯.