基本上,即使我将$ 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";
});