如何在独立功能之间共享相同的变量?我不想使用全局变量,此刻,我没有使用OO。此示例仅适用于嵌套函数:
$example = function() use ($id){
echo 'id is: ' . $id;
};
有没有办法从不同的函数访问(读取:调用)嵌套函数?然后我可以返回$ id。
主要问题:我正在从数据库中检索ID,我希望主持人能够根据从数据库中检索到的ID来编辑材料。
答案 0 :(得分:1)
您可以使用传递参考阅读this
function changeMyID(&$id)
{
$id = 1;
}
function printMyID($id)
{
echo $id;
}
$id = 2;
changeMyID($id);
printMyID($id); // this will output 1;
答案 1 :(得分:1)
正如我在评论中提到的,我不是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;