如何在函数的if构造之外访问变量?

时间:2019-01-30 20:18:32

标签: php variables scope global

基本上,即使我将$ bidPrice定义为全局的,也不能在代码中使用$ bidPrice。在If构造内部,它被分配了一个值,但是在外面,它仍然被视为未定义,例如,如果我想在if子句之外的函数中使用$ askPrice或$ bidPrice。

我也试图将其定义为if子句中的全局变量,也没有用。

我很感谢您的回答:)

global $askPrice;
global $bidPrice;

    echo "\r";
    \Ratchet\Client\connect('wss://www.bitmex.com/realtime')->then(function($conn) {
        $conn->on('message', function($msg) use ($conn) {               

            if(str_replace('"askPrice":', "", strstr(strstr(strstr($msg, "[{"), '"askPrice":'), ',"askSize"', true)) != false and str_replace('"bidPrice":', "", strstr(strstr(strstr($msg, "[{"), '"bidPrice":'), ',"askPrice"', true)) != false){
                $askPrice = str_replace('"askPrice":', "", strstr(strstr(strstr($msg, "[{"), '"askPrice":'), ',"askSize"', true));
                $bidPrice = str_replace('"bidPrice":', "", strstr(strstr(strstr($msg, "[{"), '"bidPrice":'), ',"askPrice"', true));

                echo "\r";
                echo "                                 ";
                echo "\r";
                echo "bidPrice={$bidPrice} | askPrice={$askPrice}";
            }

        });

        $conn->send('{"op": "subscribe", "args": ["quote:XBTUSD"]}');
    }, function ($e) {
        echo "Could not connect: {$e->getMessage()}\n";
    });

0 个答案:

没有答案