3v4l.org

run code in 300+ PHP versions simultaneously
<?php function validateStringByPrefix1(string $string, $prefix) { $valid = false; if (is_string($prefix)) { if (! empty($prefix) && strpos($string, $prefix) === 0) { $valid = true; } } elseif (is_array($prefix)) { foreach ($prefix as $partPrefix) { if (! empty($partPrefix) && strpos($string, $partPrefix) === 0) { $valid = true; break; } } } return $valid; } function validateStringByPrefix2(string $string, $prefix) { $valid = false; if (is_string($prefix)) { if (strpos($string, $prefix) === 0) { $valid = true; } } elseif (is_array($prefix)) { foreach ($prefix as $partPrefix) { if (! empty($partPrefix) && strpos($string, $partPrefix) === 0) { $valid = true; break; } } } return $valid; } $t = microtime(true); var_dump(validateStringByPrefix1("foo", "bar")); printf("1 %.6fs\n", microtime(true) - $t); $t = microtime(true); var_dump(validateStringByPrefix2("foo", "bar")); printf("2 %.6fs\n", microtime(true) - $t);
Output for 7.1.7
bool(false) 1 0.000033s bool(false) 2 0.000003s
Output for 7.1.6
bool(false) 1 0.000019s bool(false) 2 0.000002s
Output for 7.1.5
bool(false) 1 0.000039s bool(false) 2 0.000004s
Output for 7.1.0
bool(false) 1 0.000021s bool(false) 2 0.000002s
Output for 7.0.20
bool(false) 1 0.000022s bool(false) 2 0.000002s
Output for 7.0.11
bool(false) 1 0.000086s bool(false) 2 0.000018s
Output for 7.0.10
bool(false) 1 0.000084s bool(false) 2 0.000014s
Output for 7.0.9
bool(false) 1 0.000038s bool(false) 2 0.000007s
Output for 7.0.8
bool(false) 1 0.000026s bool(false) 2 0.000003s
Output for 7.0.7
bool(false) 1 0.000041s bool(false) 2 0.000003s
Output for 7.0.6
bool(false) 1 0.000044s bool(false) 2 0.000003s
Output for 7.0.5
bool(false) 1 0.000036s bool(false) 2 0.000002s
Output for 7.0.4
bool(false) 1 0.000099s bool(false) 2 0.000013s
Output for 7.0.3
bool(false) 1 0.000104s bool(false) 2 0.000012s
Output for 7.0.2
bool(false) 1 0.009331s bool(false) 2 0.000025s
Output for 7.0.1
bool(false) 1 0.000109s bool(false) 2 0.000022s
Output for 7.0.0
bool(false) 1 0.000096s bool(false) 2 0.000012s
Output for 5.6.0 - 5.6.25
Catchable fatal error: Argument 1 passed to validateStringByPrefix1() must be an instance of string, string given, called in /in/QUtp4 on line 44 and defined in /in/QUtp4 on line 3
Process exited with code 255.

preferences:
68.19 ms | 430 KiB | 5 Q