PHP函数混淆

PHP函数混淆,php,Php,我有以下场景(简化): 编辑:忘记添加。该场景无法使用返回语句-仅使用&$variable 谢谢! 马特穆勒 function changeFruit($fruit) { return changeAgain($fruit); } function changeAgain($fruit) { return $fruit = "Orange"; } MAIN: $fruit = "Apple"; $fruit = changeFruit($fruit); echo $fr

我有以下场景(简化):

编辑:忘记添加。该场景无法使用返回语句-仅使用&$variable

谢谢! 马特穆勒

function changeFruit($fruit) {
    return changeAgain($fruit);

}

function changeAgain($fruit) {
     return $fruit = "Orange";
}

MAIN:

$fruit = "Apple";
$fruit = changeFruit($fruit);
echo $fruit;
希望有帮助


注意:changereach函数返回并覆盖$fruit=changeFruit($fruit)

您没有从函数返回值。试试这个:

function changeFruit($fruit) {
    return changeAgain($fruit);

}

function changeAgain($fruit) {
     $fruit = "Orange";
     return $fruit;
}

MAIN:

$fruit = "Apple";
$fruit = changeFruit($fruit);

在PHP中,当您将非对象的内容传递给函数时,PHP会复制该内容以在函数中使用

要使其不使用副本,您需要告诉PHP您正在传递引用

这是通过&operator完成的

function changeFruit(&$fruit) {
    changeAgain($fruit);

}

function changeAgain(&$fruit) {
     $fruit = "Orange";
}

$fruit = "Apple";
changeFruit($fruit);
echo $fruit;
使用函数的返回值更明智,也更实用(因为这样更易于阅读)


changeFruit还需要返回到否决问题的人那里,你应该认真地回去检查你的第一个代码。另外,如果你否决了一个问题,最好留下评论,以帮助改进问题)阿纳克斯:否决你的不是我,但你似乎没有读太多手册。试试这个:嘿,我不想在这里挑起一场火焰战。。这个问题不涉及返回声明。。我想要更多关于&$variable的信息。很抱歉,时间太晚了,我的问题和描述写得很糟糕,但我的问题的意图并不完全是琐碎的。谢谢你再深入探讨一下这个问题。我忘了添加,我不能返回值!我正准备写这篇文章。完全正确,非常完整。清晰的答案和清晰的例子!谢谢保罗-我倾向于只在我不会说一句俏皮话的情况下才回答,关于:D,我可以详细介绍一下
function changeFruit(&$fruit) {
    changeAgain($fruit);

}

function changeAgain(&$fruit) {
     $fruit = "Orange";
}

$fruit = "Apple";
changeFruit($fruit);
echo $fruit;
function changeFruit($fruit) {
    return changeAgain($fruit);
}

function changeAgain($fruit) {
     // do something more interesting with$fruit here
     $fruit = "Orange";
     return $fruit;
}

$fruit = "Apple";
$fruit = changeFruit($fruit);
echo $fruit