请问:
   $_POST["adminname"] 和 $_POST[adminname]到底有什么不同?
一般要加双引号的,但是在一些课本上给出的代码中是不需要加的,是不是PHP需要设置啊?
谢谢

解决方案 »

  1.   

    单纯对于php来说 '' ""是都是可以的, 
    “”多了一步解释执行,如果作细微优化的角度 
    建议多用‘’, 当需要一些解释执行的时候用“” 。至于不用的我也只是在一些开源的东西里看到过 没具体研究。
      

  2.   

    $_POST['adminname']  正确的写法是这样的! $_POST[adminname]这个会提出警告,而且执行速度很慢!$_POST[“adminname”] 这个 也比单引号慢
      

  3.   

    参考这个帖子:http://bbs.phpchina.com/thread-114598-1-1.html
      

  4.   

    $_POST[adminname]
    这种写法其实是错误的,php会认为adminname是一个常量,而这个常量其实是没有被定义的,php认为该常量的值为adminname,最终得到和$_POST["adminname"]一样的结果。但如果
    define("adminname", 1);
    echo $_POST[adminname];
    这种写法就会得到错误的结果。
      

  5.   

    $_POST["adminname"] 比$_POST[adminname]执行效率快6倍大概。 
      

  6.   

    在严格开发模式下,严格来说,是不能用不带引号的模式的,不带引号的情况,系统会先把它当成一个常量,因此会引发警告错误,实际上这一过程相对于直接用$_POST['varname'],运行复杂度多了N多,所以目前基本都不建议用不加引号的写法
      

  7.   

    不加引号系统认为是常量定义,而未经定义的话就用本身替代
    不加引号也可以:$_GET[AB]
    $_POST[AB]但是,在这种情况下,系统先是把 AB 当作常量的,即: $_GET[常量AB]和$_POST[常量AB],只有在上下文里找不到常量 AB 是,才把 AB 当作 $_GET和$_POST 的索引引用。所以,推荐:$_GET['AB']
    $_POST['AB']

    $_GET["AB"]
    $_POST["AB"]但从性能方面考虑,$_GET['AB'] 要优于 $_GET["AB"],$_POST['AB']要优于 $_POST["AB"],所以最佳方案还是:$_GET['AB']
    $_POST['AB']