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"; } } ?>
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Element 0 has no data. Element 1 has no data. Element 2 has no data. Element 3 has no data. Element 4 has data: Key: $ts, Value: 170801170000 Key: RH, Value: 67.15 Key: AT, Value: 12.87 Key: MINVi, Value: 3.81 Key: PTi, Value: 23.4 Key: LWS, Value: 0*T Key: WSAV, Value: 0 Key: WSMX, Value: 0 Key: WSMN, Value: 0 Key: PR_TOT, Value: 156 Key: RAIN, Value: 0 Key: FDI, Value: 0.239 Key: DT, Value: 2.881 Key: WD, Value: 0*T Key: P1, Value: 0*T Key: AVGCi, Value: 175 Element 5 has no data.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Element 0 has no data. Element 1 has no data. Element 2 has no data. Element 3 has no data. Element 4 has data: Key: $ts, Value: 170801170000 Key: RH, Value: 67.15 Key: AT, Value: 12.87 Key: MINVi, Value: 3.81 Key: PTi, Value: 23.4 Key: LWS, Value: 0*T Key: WSAV, Value: 0 Key: WSMX, Value: 0 Key: WSMN, Value: 0 Key: PR_TOT, Value: 156 Key: RAIN, Value: 0 Key: FDI, Value: 0.239 Key: DT, Value: 2.881 Key: WD, Value: 0*T Key: P1, Value: 0*T Key: AVGCi, Value: 175 Element 5 has no data.

preferences:
225.44 ms | 403 KiB | 291 Q