繁体   English   中英

如何在独立函数之间共享相同的变量

[英]How do I share same variable between independent functions

如何在独立功能之间共享相同的变量? 我不想使用全局变量,此刻,我没有使用OO。 此示例仅适用于嵌套函数:

$example = function() use ($id){
                    echo 'id is: ' . $id;
                };

有没有办法从不同的函数访问(读取:调用)嵌套函数? 我可以返回$ id。

主要问题:我正在从数据库中检索ID,我希望主持人能够根据从数据库中检索的ID来编辑材料。

您可以使用传递参考阅读此内容

function changeMyID(&$id)
{
    $id = 1;
}
function printMyID($id)
{ 
    echo $id;
}

$id = 2;
changeMyID($id);
printMyID($id); // this will output 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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM