如何在獨立功能之間共享相同變量?我不想使用全局變量,目前,我沒有使用OO。這個例子只適用於嵌套函數:如何在獨立功能之間共享相同變量
$example = function() use ($id){
echo 'id is: ' . $id;
};
有沒有辦法從不同的函數訪問(讀取:調用)嵌套函數?然後我可以返回$ id。
主要問題:我正在從數據庫中檢索ID,我希望主持人能夠根據從數據庫檢索到的ID編輯材料。
如何在獨立功能之間共享相同變量?我不想使用全局變量,目前,我沒有使用OO。這個例子只適用於嵌套函數:如何在獨立功能之間共享相同變量
$example = function() use ($id){
echo 'id is: ' . $id;
};
有沒有辦法從不同的函數訪問(讀取:調用)嵌套函數?然後我可以返回$ id。
主要問題:我正在從數據庫中檢索ID,我希望主持人能夠根據從數據庫檢索到的ID編輯材料。
正如我在評論中提及了,我不是你的獨立和嵌套函數的意思到底是什麼100%,但這裏是PHP對(匿名函數)手冊[http://php.net/manual/en/functions.anonymous.php]。
無論如何,我已經把樣品一起假設你真的意味着嵌套函數
<?php
function wrapperOne($id) {
$newId = function($id) {
return $id * 2;
};
return $newId($id);
}
function wrapperTwo($id) {
$doSomething = function() use(&$id) {
$id *= 3;
};
$doSomething();
return $id;
}
echo wrapperOne(2); // 4;
echo PHP_EOL;
echo wrapperTwo(2); // 6;
是的,我的意思是嵌套在另一個函數中的匿名函數。你的例子應該這樣做,謝謝! –
非常歡迎@DanSebastian :) – Ali
您可以參考使用通過閱讀this
function changeMyID(&$id)
{
$id = 1;
}
function printMyID($id)
{
echo $id;
}
$id = 2;
changeMyID($id);
printMyID($id); // this will output 1;
我不知道你的意思,但在你的榜樣嵌套函數。通過任何你的意思是匿名函數的機會? – Ali