如何在独立函数之间共享相同的变量?我不想使用全局变量,目前,我不使用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;
你可以通过引用来读取这个
function changeMyID(&$id)
{
$id = 1;
}
function printMyID($id)
{
echo $id;
}
$id = 2;
changeMyID($id);
printMyID($id); // this will output 1;