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

前端之家收集整理的这篇文章主要介绍了在对象实例上等待php回调并在函数上返回值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下函数实例化一个对象并运行其方法.我想返回$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所示

猜你在找的PHP相关文章