加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在对象实例上等待php回调并在函数上返回值

发布时间:2020-12-13 17:58:34 所属栏目:PHP教程 来源:网络整理
导读:我有以下函数实例化一个对象并运行其方法.我想返回$to_return,但问题是即使函数使用’use’关键字,$to_return也不会改变.这是功能: function some_function($arg){ $to_return = false; $object = new Object; $to_return = $object-METHOD(function($callb
我有以下函数实例化一个对象并运行其方法.我想返回$to_return,但问题是即使函数使用’use’关键字,$to_return也不会改变.这是功能:
function some_function($arg){

    $to_return = false;

    $object = new Object;

    $to_return = $object->METHOD(function($callback) use ($to_return){

        $to_return = $some_var;

    });

    $to_return = $object->runMETHOD("some_arg");

    return $to_return;

}

所以,基本上:

> $to_return返回始终为false
>我想some_function返回$some_var

简而言之:如何让some_function返回对象方法内部更改的对象?

所有你想念的是表明$to_return应该通过引用传递:
function($callback) use (& $to_return)

也是3v4l:https://3v4l.org/Vfp70上的工作示例示例

我不是内部专家,但是当您将它们传递到某个地方时,长篇故事短基元被“复制”,因此您在回调中设置的内容不会被转移到外部.另一方面,对象的行为与预期的一样,因为传递指向对象的指针并修改原始实例.使用甚至普通的stdClass作为这样的转运器也可以工作,如3v4l:https://3v4l.org/m9jJ3所示

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读