在$ _POST变量中使用引号,撇号或两者都有什么区别?

时间:2013-02-17 15:43:31

标签: php post

我最近发布了一个代码不起作用的question,并建议我在$ _POST变量中添加撇号。

我正在使用

$_POST[variable]

人(?)推荐

$_POST['variable']

PHP.net Recommends

$_POST["variable"]

你用什么,为什么? 使用其中一个时会出现什么差异?

4 个答案:

答案 0 :(得分:1)

使用"'之间没有实质性差异。数组键可以是整数或字符串。字符串以PHP引用。在这种情况下不使用引号有效,但是PHP会先检查键是否为常量,然后再将其解释为字符串。不引用数组键是discouraged in the PHP documentation

答案 1 :(得分:1)

第一种方法会抛出一条通知:

[18-Feb-2013 02:46:06] PHP Notice:  Use of undefined constant variable - assumed 'variable' in /Users/Aram/Development/Web/test.php on line 6

此外,您不能使用连字符,因为它会单独处理它们。

[18-Feb-2013 02:46:56] PHP Notice:  Use of undefined constant variable - assumed 'variable' in /Users/Aram/Development/Web/test.php on line 6
[18-Feb-2013 02:46:56] PHP Notice:  Use of undefined constant name - assumed 'name' in /Users/Aram/Development/Web/test.php on line 6

使用单引号,因为它比双引号更简单,并且不需要使用shift键。

答案 2 :(得分:1)

这不是关于$ _POST变量 它是关于字符串。 字符串数组键是严格的。

这里有字符串作为数组键 - 因此,您必须将它们格式化为字符串 要格式化字符串,您可以使用任何引号,没有区别。

没有引号的

variable实际上是常量

您必须省略引号的唯一情况是双引号字符串:

echo "Hello $_GET[name], howdy?";

答案 3 :(得分:0)

如果$_POST[variable]是常量或变量的名称,请使用variable:$ var。

使用$_POST["variable"]$_POST['variable'] if变量`是一个字符串。