我知道&符号在函数中的含义,这意味着您必须通过地址传递变量。但是我还没有遇到需要将一些变量作为地址传递的情况。你们能帮我澄清一下吗?例如
function dollarx($x) {
echo $x[1];
}
function dollar(&$x) {
echo $x[1];
}
$x[0] = 1;
$x[1] = 2;
两个函数显示相同
我知道&符号在函数中的含义,这意味着您必须通过地址传递变量。但是我还没有遇到需要将一些变量作为地址传递的情况。你们能帮我澄清一下吗?例如
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);
您可以使用它为您设置一个函数集变量。例如,您可以让函数返回带有结果的数组,或者您可以通过引用使用变量。
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;