-1

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

我正在使用

$_POST[variable]

人(?)推荐

$_POST['variable']

PHP.net 推荐

$_POST["variable"]

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

4

4 回答 4

1

"使用和之间没有本质区别'。数组键可以是整数或字符串。字符串在 PHP 中被引用。在这种情况下不使用引号是可行的,但 PHP 首先检查键是否为常量,然后再将其解释为字符串。在 PHP 文档中不鼓励不引用数组键。

于 2013-02-17T15:47:47.550 回答
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 键。

于 2013-02-17T15:48:01.143 回答
1

这与 $_POST 变量无关。
它是关于字符串的。字符串作为数组键是严格的。

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

variable没有引号实际上是一个常数

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

echo "Hello $_GET[name], howdy?";
于 2013-02-17T15:49:25.333 回答
0

使用$_POST[variable]ifvariable是常量或变量的名称:$var。

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

于 2013-02-17T15:50:12.720 回答