我知道函數中的符號意味着什麼,這意味着您必須通過地址傳遞變量。但是我還沒有遇到一個場景,我需要通過一些變量作爲地址。你們能爲我澄清一下嗎?例如像何時傳遞變量作爲函數中的地址php
function dollarx($x) {
echo $x[1];
}
function dollar(&$x) {
echo $x[1];
}
$x[0] = 1;
$x[1] = 2;
兩個函數顯示相同的
我知道函數中的符號意味着什麼,這意味着您必須通過地址傳遞變量。但是我還沒有遇到一個場景,我需要通過一些變量作爲地址。你們能爲我澄清一下嗎?例如像何時傳遞變量作爲函數中的地址php
function dollarx($x) {
echo $x[1];
}
function dollar(&$x) {
echo $x[1];
}
$x[0] = 1;
$x[1] = 2;
兩個函數顯示相同的
傳遞「通過引用」當你想要的功能,能夠以更新變量的值。
例如:
function dollar(&$x){
$x[1] = 12;
}
$x = array(1, 2);
dollar($x);
var_dump($x); // array(1, 12);
7分鐘,直到你得到正確的答案。大聲笑 – 2013-03-18 16:09:25
你可以使用它有一個功能集變量您。例如,你可以讓一個函數返回一個包含結果的數組,或者你可以通過引用使用變量。
function GetUsernameAndEmailAddress(&$user, &$email) {
//get values from database or session or whatever.
$user = 'username';
$email = '[email protected]';
}
$username = '';
$email = '';
GetUsernameAndEmailAddress($username, $email);
echo 'Hello '. $username. '. I have sent an e-mail to '.$email;
代替'echo $ x [1];'try'$ x [1] = 4;'然後'var_dump($ x);'調用每個函數之前和之後(它被稱爲pass-by-引用不是地址) – Waygood 2013-03-18 16:04:05
如果你在你的函數中改變'$ x,那麼區別就在於例如'echo $ x [1] ++;' – 2013-03-18 16:04:14
var_dump做什麼? – 2013-03-18 16:06:51