3v4l.org

run code in 300+ PHP versions simultaneously
<?php function convertToBytes(string $from): ?int { $units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB']; $number = substr($from, 0, -2); $suffix = strtoupper(substr($from,-2)); //B or no suffix if(is_numeric(substr($suffix, 0, 1))) { return preg_replace('/[^\d]/', '', $from); } $exponent = array_flip($units)[$suffix] ?? null; if($exponent === null) { return null; } return $number * (1024 ** $exponent); } var_dump(convertToBytes("110GB"));
Output for 7.1.25 - 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.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
int(118111600640)

preferences:
144.95 ms | 403 KiB | 179 Q