我最近发布了一个代码不起作用的question,并建议我在$ _POST变量中添加撇号。
$_POST[variable]
$_POST['variable']
$_POST["variable"]
你用什么,为什么? 使用其中一个时会出现什么差异?
答案 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
变量`是一个字符串。