如果我在 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',
)
由于#
在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',
)