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