请问:
$_POST["adminname"] 和 $_POST[adminname]到底有什么不同?
一般要加双引号的,但是在一些课本上给出的代码中是不需要加的,是不是PHP需要设置啊?
谢谢
$_POST["adminname"] 和 $_POST[adminname]到底有什么不同?
一般要加双引号的,但是在一些课本上给出的代码中是不需要加的,是不是PHP需要设置啊?
谢谢
“”多了一步解释执行,如果作细微优化的角度
建议多用‘’, 当需要一些解释执行的时候用“” 。至于不用的我也只是在一些开源的东西里看到过 没具体研究。
这种写法其实是错误的,php会认为adminname是一个常量,而这个常量其实是没有被定义的,php认为该常量的值为adminname,最终得到和$_POST["adminname"]一样的结果。但如果
define("adminname", 1);
echo $_POST[adminname];
这种写法就会得到错误的结果。
不加引号也可以:$_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']