3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '{ "device": { "sn": 5165654, "name": "FDI_AWS_DEMO", "v": "2.7B3" }, "channels": [ { "code": "RH", "name": "Relative Humidity", "unit": "%" }, { "code": "AT", "name": "Air Temperature", "unit": "C" }, { "code": "MINVi", "name": "Min voltage", "unit": "V" }, { "code": "PTi", "name": "Processor temperature", "unit": "C" }, { "code": "SDB", "name": "Network signal dB", "unit": "dB" }, { "code": "LWS", "name": "Leaf Wetness", "unit": "%" }, { "code": "WSAV", "name": "Wind Speed Avg", "unit": "km/h" }, { "code": "WSMX", "name": "Wind Speed Max", "unit": "km/h" }, { "code": "WSMN", "name": "Wind Speed Min", "unit": "km/h" }, { "code": "PR_TOT", "name": "PR Tot", "unit": "mm" }, { "code": "RAIN", "name": "Rain", "unit": "mm" }, { "code": "FDI", "name": "fdi", "unit": "Unit" }, { "code": "DT", "name": "Delta-T", "unit": "C" }, { "code": "LAT", "name": "Latitude", "unit": "deg" }, { "code": "LON", "name": "Longitude", "unit": "deg" }, { "code": "WD", "name": "Wind Direction", "unit": "Degrees" }, { "code": "P1", "name": "Par1", "unit": "" }, { "code": "AVGCi", "name": "Average Current", "unit": "mA" }, {} ], "data": [ { "$ts": 170801164400, "$msg": "SD_FAIL;1" }, { "$ts": 170801170000, "$msg": "WDT;WV01" }, { "$ts": 170801170000, "$msg": "WDT;SDI12" }, { "$ts": 170801170000, "$msg": "WDT;LWS" }, { "$ts": 170801170000, "RH": 67.15, "AT": 12.87, "MINVi": 3.81, "PTi": 23.4, "LWS": "0*T", "WSAV": 0, "WSMX": 0, "WSMN": 0, "PR_TOT": 156, "RAIN": 0, "FDI": 0.239, "DT": 2.881, "WD": "0*T", "P1": "0*T", "AVGCi": 175 }, {} ] }'; $obj = json_decode($json, true); foreach($obj['data'] as $k=>$element) { if(isset($element['RH'])) { echo "Element {$k} has data:\n"; foreach($element as $key=>$value) { echo "\tKey: {$key}, Value: {$value}\n"; } } else { echo "Element {$k} has no data.\n"; } } ?>

preferences:
51.73 ms | 402 KiB | 5 Q