$arr = array("sensorval" => array("zval" => 62));
list($key, $value) = array(key($arr["sensorval"]), current($arr["sensorval"]));
key
извлечения ключа («Zval») и current
получить значение текущего элемента (первый атм) в «sensorval».
[EDIT]
$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;
});
В PubNub PHP, объекты JSON десериализуются как ассоциативные массивы PHP. Так, как предлагают предлагаемые ответы ниже, просто получите доступ к значению, как и любое вложенное значение в ассоциативном массиве. – Geremy