3v4l.org

run code in 300+ PHP versions simultaneously
<?php $token = '20MI'; $token_h = 'https://www.20minutos.es/hombre'; $valid_medios_blacklisted_tokens = array( 'UUEE_234_934_884' => array('telva.com','www.telva.com'), '20MI' => array('www.businessinsider.es') ); $valid_medios_blacklisted_tokens_paths = array( '20MI' => array('www.20minutos.es/mujer/*'), ); if (isset($valid_medios_blacklisted_tokens[$token])) { echo "ALLOW"; } // Está en la lista del dominio en lista negra el referer. // Comprobar si el dominio+path esta en la lista blanca. elseif (isset($valid_medios_blacklisted_tokens_paths[$token])) { $allow = true; if (empty($token_h)) { $allow = false; } else { foreach ($valid_medios_blacklisted_tokens_paths[$token] as $valid) { // Comprobar si contiene if (strpos($valid, '*') !== false) { $valid = rtrim($valid, '*'); $valid = rtrim($valid, '/'); if (strpos($token_h, $valid) !== false) { $allow = true; } else { $allow = false; } } // Comprobar si es igual else { $fixed_token_h = rtrim($token_h, '/'); $fixed_token_h = str_replace(['https://', 'http://'], '', $fixed_token_h); if ($fixed_token_h === $valid) { $allow = true; } else { $allow = false; } } } // Es bueno lo dejamos pasar if (!empty($allow)) { echo "ALLOW"; } else { echo "DISALLOW"; } } } else { echo "DISALLOW"; }

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.5.30.0100.00919.72
8.5.20.0100.00818.25
8.5.10.0140.00719.64
8.5.00.0210.01316.35
8.4.180.0120.01019.71
8.4.170.0130.00920.69
8.4.160.0310.01319.41
8.4.150.0350.01321.21
8.4.140.0310.01219.42
8.4.130.0380.00517.73
8.4.120.0370.01417.81
8.4.110.0360.00917.65
8.4.100.0390.01417.70
8.4.90.0340.01317.79
8.4.80.0370.00817.83
8.4.70.0390.00917.60
8.4.60.0380.00917.52
8.4.50.0460.00717.51
8.4.40.0440.01217.61
8.4.30.0400.01017.53
8.4.20.0440.00717.68
8.4.10.0450.00617.68
8.3.300.0090.01220.82
8.3.290.0310.01218.00
8.3.280.0310.01218.21
8.3.270.0370.01016.46
8.3.260.0370.01016.39
8.3.250.0390.00616.49
8.3.240.0380.01118.10
8.3.230.0340.01216.60
8.3.220.0410.01116.56
8.3.210.0410.01016.38
8.3.200.0380.01116.71
8.3.190.0380.01016.61
8.3.180.0240.00516.26
8.3.170.0210.00416.53
8.3.160.0220.00616.53
8.3.150.0180.00816.40
8.3.140.0170.00416.72
8.3.130.0120.00616.44
8.3.120.0120.00816.41
8.3.110.0130.00716.52
8.3.100.0140.00616.34
8.3.90.0150.00616.48
8.3.80.0150.00616.52
8.3.70.0180.00416.63
8.3.60.0170.00616.22
8.3.50.0180.00516.64
8.3.40.0160.00417.64
8.3.30.0160.00217.72
8.3.20.0150.00517.82
8.3.10.0130.00417.97
8.3.00.0070.00317.87
8.2.300.0120.00818.13
8.1.340.0140.00617.73

preferences:
69.94 ms | 706 KiB | 5 Q