PHP pubnub 中的数组

PHP Array in pubnub

在 pubnub 中,我以 jsonstring 格式将数据上传为 {"sensorval":{"zval":64}}

在检索消息时检索为

Array([sensorval]=>Array([zval]=>62))

但我只想检索 zval62 并将其存储在变量中。如何 做这个?

我想将变量 zval62 上传到本地数据库的表中。

$arr = array("sensorval" => array("zval" => 62));
list($key, $value) = array(key($arr["sensorval"]), current($arr["sensorval"]));

key 获取键 ("zval") 并且 current 获取 "sensorval".

中当前(第一个 atm)元素的值

[编辑]

$json = '{"sensorval":{"xval":2}}';
$arr = json_decode($json,true);
var_dump($arr);
// prints array(1) { ["sensorval"]=> array(1) { ["xval"]=> int(2) } }
$arr = json_decode($json,true);
print_r($arr);
//prints Array ( [sensorval] => Array ( [xval] => 2 ) )

这等于我例子中的数组。

你告诉我你得到的数据是这样的:

$pubnub->subscribe('che', function ($envelope) {
    print_r($envelope['message']); 
    return true;
});

为了 运行 建议的代码,您必须这样查找:

$pubnub->subscribe('che', function ($envelope) {
    print_r($envelope['message']);
    list($key, $value) = array(
        key($envelope['message']["sensorval"]), 
        current($envelope['message']["sensorval"])
    ); 
    printf("Key: %s, Value: %s", $key, $value);
    return true;
});