我是新来的PHP和MySQL。我在YouTube上遵循phpacademy的教程。有一部分是表单数据,但每个跟随本教程的人(包括我自己)都有未定义的索引错误。我用&
(&符号)符号固定它。但是在以下情况下它有什么作用?为什么把&这个符号放在$的前面会停止这个错误?它是否与@相同,是只是抑制了错误还是实际修复了错误?&(&符号)符号在这种情况下表示什么?
$submit = &$_POST['submit'];
我是新来的PHP和MySQL。我在YouTube上遵循phpacademy的教程。有一部分是表单数据,但每个跟随本教程的人(包括我自己)都有未定义的索引错误。我用&
(&符号)符号固定它。但是在以下情况下它有什么作用?为什么把&这个符号放在$的前面会停止这个错误?它是否与@相同,是只是抑制了错误还是实际修复了错误?&(&符号)符号在这种情况下表示什么?
$submit = &$_POST['submit'];
这意味着代替值分配给$submit
,分配给值的参考$submit
。
如果您熟悉C和指针,它就像是一个指向您访问时自动解除引用的值的指针。但是,PHP不允许指针算术或获取实际的内存地址(与C不同)。
$a = 7;
$b = $a;
$c = &$a;
$c = 5;
echo $a, $b, $c; // 575
阻止你提到的错误,你可以使用诸如图案...
$submit = isset($_POST['submit']) ? $_POST['submit'] : 'default_value';
......或者......
$submit = filter_input(INPUT_POST, 'submit');
等等,什么?如何分配参考工作。 – Michelle 2012-04-08 06:12:40
'他们不像C指针'(http://www.php.net/manual/en/language.references.whatare.php) – 2012-04-08 06:13:38
所以这是修复未定义索引错误的好方法吗?我对什么都不熟悉... hahaha – 2012-04-08 06:14:18
http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php – Michelle 2012-04-08 06:15:00
http://stackoverflow.com/questions/3526555/what-does-this-php-operator-means和http://stackoverflow.com/questions/1367454/what-do-operators-in-php-mean – 2012-04-08 06:44:24