Hallo zusammen,
ich habe nachfolgende Funktion ...
Da sieht man im ersten Logausdruck, dass ich (in $params) 2 "homeapplinces" habe, somit ein Array mit zwei Einträgen [0] = Geschirrspüler und [1] = Waschmaschine.
Irgendwie habe ich Tomaten auf den Augen ...
Im zweiten Logausdruck, nach "foreach" sehe ich aber nur den Inhalt des Arrays [0] ... Ich hätte einen zweiten Eintrag im LOG für das Array [1]
Ich vermute, dass es schon spät ist und ich die "Kleinigkeit" nicht mehr sehe :-(
Dies hier wäre noch die Abfrage:
ich habe nachfolgende Funktion ...
Da sieht man im ersten Logausdruck, dass ich (in $params) 2 "homeapplinces" habe, somit ein Array mit zwei Einträgen [0] = Geschirrspüler und [1] = Waschmaschine.
Irgendwie habe ich Tomaten auf den Augen ...
Im zweiten Logausdruck, nach "foreach" sehe ich aber nur den Inhalt des Arrays [0] ... Ich hätte einen zweiten Eintrag im LOG für das Array [1]
Ich vermute, dass es schon spät ist und ich die "Kleinigkeit" nicht mehr sehe :-(
PHP-Code:
public function foreachKeyIndex($params = array(), $i = 'data', $ii = 'homeappliances')
{
if (isset($params) && is_array($params) && array_key_exists($ii, $params[$i])) {
$this->logKlasse('foreach/params ................. '.serialize($params));
// foreach/params ................. a:1:{s:4:"data";a:1:{s:14:"homeappliances";a:2:{i:0;a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}i:1;a:7:{s:4:"name";s:13:"Waschmaschine";s:5:"brand";s:5:"BOSCH";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:0;s:4:"type";s:6:"Washer";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}}}}
foreach ($params[$i][$ii] as $index) {
if (isset($index)) {
$this->logKlasse('foreach/index .................. '.serialize($index));
// foreach/index .................. a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}
return $index;
}
}
}
}
Dies hier wäre noch die Abfrage:
PHP-Code:
$jsondata = '{"data":{"homeappliances":[{"name":"Geschirrspüler","brand":"SIEMENS","vib":"SX578S06TE","connected":true,"type":"Dishwasher","enumber":"SX578S06TE/01","haId":"SIEMENS-SX578S06TE-68A40E0021F0"},{"name":"Waschmaschine","brand":"BOSCH","vib":"SX578S06TE","connected":false,"type":"Washer","enumber":"SX578S06TE/01","haId":"SIEMENS-SX578S06TE-68A40E0021F0"}]}}';
$ho = json_decode($jsondata, true);
logic_setOutput($id, 13, serialize($ho));
// a:1:{s:4:"data";a:1:{s:14:"homeappliances";a:2:{i:0;a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}i:1;a:7:{s:4:"name";s:13:"Waschmaschine";s:5:"brand";s:5:"BOSCH";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:0;s:4:"type";s:6:"Washer";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}}}}
$appliance = $client->foreachKeyIndex($ho, 'data', 'homeappliances');
for ($i = 1; $i < 9; $i++)
{
logic_setOutput($id, $i, serialize($appliance));
LB_LBSID_Debug($id, $OAuth.'$appliance ................... '.serialize($appliance), 6, $UserLogLevel, false);
}
/** LOG-Ausdruck:
LBS19900070 (ID759) LOG_INFO__ | EXE | Home-Connect | OAuth2 | $appliance ................... a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}
LBS19900070 (ID759) LOG_INFO__ | EXE | Home-Connect | OAuth2 | $appliance ................... a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}
LBS19900070 (ID759) LOG_INFO__ | EXE | Home-Connect | OAuth2 | $appliance ................... a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}
LBS19900070 (ID759) LOG_INFO__ | EXE | Home-Connect | OAuth2 | $appliance ................... a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}
LBS19900070 (ID759) LOG_INFO__ | EXE | Home-Connect | OAuth2 | $appliance ................... a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}
LBS19900070 (ID759) LOG_INFO__ | EXE | Home-Connect | OAuth2 | $appliance ................... a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}
LBS19900070 (ID759) LOG_INFO__ | EXE | Home-Connect | OAuth2 | $appliance ................... a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}
LBS19900070 (ID759) LOG_INFO__ | EXE | Home-Connect | OAuth2 | $appliance ................... a:7:{s:4:"name";s:15:"Geschirrspüler";s:5:"brand";s:7:"SIEMENS";s:3:"vib";s:10:"SX578S06TE";s:9:"connected";b:1;s:4:"type";s:10:"Dishwasher";s:7:"enumber";s:13:"SX578S06TE/01";s:4:"haId";s:31:"SIEMENS-SX578S06TE-68A40E0021F0";}
**/
Kommentar