3v4l.org

run code in 300+ PHP versions simultaneously
<?php // rsrq(rb,rsrp,rssi) = 10*log10(rb*10**(rsrp/10)/10**(rssi/10)); function calc ($data) { $pattern = "Freq:([ ]+)(?P<Freq>[0-9\-]+)\n"; $pattern .= "Band:([ ]+)(?P<Band>[0-9\-]+)\n"; $pattern .= "CellId:([ ]+)(?P<CellId>[0-9\-]+)\n"; $pattern .= "RSRP:([ ]+)(?P<RSRP>[0-9\-]+)\n"; $pattern .= "RSRQ:([ ]+)(?P<RSRQ>[0-9\-]+)\n"; $pattern .= "RSSI:([ ]+)(?P<RSSI>[0-9\-]+)"; preg_match('/'.$pattern.'/i', $data, $matches); if (!empty($matches)) { $rb = 50; // lte 800 if ($matches['Band'] == 3) { $rb = 100; // lte 1800 } echo rsrq($rb, $matches['RSRP'], $matches['RSSI']); } } function rsrq ($rb, $rsrp, $rssi) { return 10*log10($rb*10**($rsrp/10)/10**($rssi/10)); } calc(">> Current-LTE-Config << Acgorder: 03 Band: 3FFFFFFF Roam: 3 Srvdomain: 1 LTEBand: 80044 >> Current-CellInfo << Freq: 18150 Band: 3 CellId: 60 RSRP: -88 RSRQ: -6 RSSI: -62");

preferences:
57.61 ms | 402 KiB | 5 Q