Bekanntlich sehen ja mehrere Augen mehr als zwei. Ich werde irgendwie verrückt, weil ich nicht auf einen Parameter eines Arrays zugreifen kann, ich weis aber beim besten Willen nicht warum. Findet eventuell jemand den Fehler bzw. kann mir sagen wo ich auf dem Schlauch stehe bzw. was ich falsch mache?
Sieht vom Prinzip so aus Fehler bei state
<?
$data = '[{"type":"AA","adr":"12345678","config":"ABCDEFG","state":"00:00"}]';
$data = json_decode($data);
var_dump($data);
foreach($data as $device)
{
if(isset($device->type))
{
$type = $device->type;
var_dump($type);
if($type == "AA")
{
if(isset($device->adr))
{
$address = $device->adr;
var_dump($address);
}
if(isset($device->config))
{
$device = $device->config;
var_dump($device);
}
$exist = isset($device->state);
var_dump($exist);
$state = $device->state;
var_dump($state);
}
}
}
?>
Ausgabe ist bei mir:
array(1) {
[0]=>
object(stdClass)#1 (4) {
["type"]=>
string(2) "AA"
["adr"]=>
string(8) "12345678"
["config"]=>
string(7) "ABCDEFG"
["state"]=>
string(5) "00:00"
}
}
string(2) "AA"
string(8) "12345678"
string(7) "ABCDEFG"
bool(false)
Notice: Trying to get property 'state' of non-object in D:\IP-Symcon\scripts\38514.ips.php on line 25
NULL
Warum ist
$exist = isset($device->state);
var_dump($exist);
false ?
Und warum kommt die Meldung
Notice: Trying to get property 'state' of non-object
?