如果我在 php 中的 http post 方法中使用“#”会怎样?

What happen if I use '#' in http post method in php?

由于#在php中被视为单行注释的关键字,如果我将#用作http post的参数变量会发生什么方法?以下是示例代码:

$p = '#';
$x = $_POST{$p};

结果会不会像

$p = '#';
$x = $_POST#;

还是会被当作$_POST的索引?

这是一个完全有效的数组键。 SUPERGLOBAL 数组仍然是数组。

请注意,旧的大括号语法将在 PHP7.4 及更高版本中失效。

代码:(Demo)

$_POST['#'] = 'foo';

$p = '#';
echo $_POST{$p};
echo "\n---\n";
var_export($_POST);

输出:

foo
---
array (
  '#' => 'foo',
)