2

我知道&符号在函数中的含义,这意味着您必须通过地址传递变量。但是我还没有遇到需要将一些变量作为地址传递的情况。你们能帮我澄清一下吗?例如

function dollarx($x) {
    echo $x[1];
}

function dollar(&$x) {
    echo $x[1];
}

$x[0] = 1;
$x[1] = 2;

两个函数显示相同

4

2 回答 2

4

当您希望函数能够更新变量的值时,您可以“通过引用”传递。

例如:

function dollar(&$x){
    $x[1] = 12;
}

$x = array(1, 2);
dollar($x);

var_dump($x); // array(1, 12);
于 2013-03-18T16:05:05.530 回答
0

您可以使用它为您设置一个函数集变量。例如,您可以让函数返回带有结果的数组,或者您可以通过引用使用变量。

function GetUsernameAndEmailAddress(&$user, &$email) {
  //get values from database or session or whatever.

  $user = 'username';
  $email = 'email@example.com';
}


$username = '';
$email = '';
GetUsernameAndEmailAddress($username, $email);

echo 'Hello '. $username. '. I have sent an e-mail to '.$email;
于 2013-03-18T16:05:58.487 回答