国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

定時器內的定義的變量在定時器外如何訪問

18829520602
Timer::add(1, function (){

    $res = Db::table("smart_timeTask")->select();

});

怎么訪問$res

1084 2 0
2個回答

2548a

建議保存到類屬性上去.
也可以這樣:

$res = [];
Timer::add(1, function ()use(&$res){

    $res = Db::table("smart_timeTask")->select();

});
  • 18829520602 2022-10-13

    你說的這個方法我之前就試了不行的,獲取到的值是空對象

taozywu

你說的這個方法我之前就試了不行的,獲取到的值是空對象

首先你的問題描述不夠清楚

我們應該知道定時器一般放在onWorkerStart或在構造方法中,當你實例化的時候不會立即獲取$res的值。怎么來獲取呢

方法一

  1. 按照 2548a 說的增加一個類的屬性,前提該類是全局能訪問。
// $class 是全局類
$class->data = Db::table("smart_timeTask")->select();

// 使用方法
// 獲取的時候可以先做下判斷
if (isset($class->data)) {
    //獲取值
}

方法二

  1. 借助redis,這個就不多說了。

方法三

  1. 按照 2548a 代碼設定一個全局$res數組 + 引用方式
  • 暫無評論
年代過于久遠,無法發(fā)表回答
??