什么是& (&符号)符号在这种情况下意味着什么?

时间:2012-04-08 06:04:20

标签: php mysql html send

我是php和mysql的新手。我在youtube上关注phpacademy的教程。有一个部分是表单数据,但是每个遵循教程(包括我自己)的人都有未定义的索引错误。我用&(&符号)符号修复了它。但它在以下情况下做了什么?为什么把& $停止前面的符号错误?它和@是一样的吗?它只是抑制错误还是实际修复它?

$submit = &$_POST['submit'];

1 个答案:

答案 0 :(得分:7)

这意味着不是将值分配给$submit,而是将值的引用分配给$submit

如果您熟悉C和指针,它就像指向访问它时自动解除引用的值的指针。但是,PHP不允许事物指针算术或获取实际的内存地址(与C不同)。

$a = 7;
$b = $a;
$c = &$a;
$c = 5;

echo $a, $b, $c; // 575

CodePad

要停止您提到的错误,您可以使用诸如...

之类的模式
$submit = isset($_POST['submit']) ? $_POST['submit'] : 'default_value';

...或...

$submit = filter_input(INPUT_POST, 'submit');