我是新來的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