我知道函数中的符号意味着什么,这意味着您必须通过地址传递变量。但是我还没有遇到一个场景,我需要通过一些变量作为地址。你们能为我澄清一下吗?例如像何时传递变量作为函数中的地址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