在$ _POST值中不使用引号vs单引号与双引号

时间:2011-11-26 06:38:10

标签: php variables post

  

可能重复:
  Should I use php quote escapes for single quotes or use double quotes in arrays?
  Is it okay to use array[key] in PHP?

这三个$ _POST值之间有什么区别? :

$_POST[data];

$_POST['data'];

$_POST["data"];

3 个答案:

答案 0 :(得分:5)

第一个,索引是常量data。由于这可能是未定义的,因此PHP通常只会将其转换为字符串'data'并记录警告消息。

第二个两个都是相同的。索引是字符串'data'

答案 1 :(得分:1)

[简短的附录,因为这是一个骗局。]

除非定义了常量foo,否则这在技术上是错误的。

 print $_POST[data];

只有在双引号上下文中,它才有效(实际上需要没有卷曲的引号)来省略数组键:

 print " use $_POST[data] in double quote context";

顺便说一下,还可以查看这些主题的手册(也可以免费下载!):

答案 2 :(得分:0)

你认为这有点不对。

这些引号与“POST值”无关 您几乎可以使用任何PHP表达式作为数组键 - 字符串,变量,constnt,函数调用。

我的情况是这些常规PHP字符串。 作为一个字符串,它应该被引用 - 这就是全部

至于报价 - 在这种情况下没有区别。
双引号接受一些特殊字符来解释,你可以看到手册中的列表 但是因为你的字符串中没有特殊字符 - 所以没有区别,引用它们。