3v4l.org

run code in 300+ PHP versions simultaneously
<?php function after($subject, $search) { return $search === '' ? $subject : array_reverse(explode($search, $subject, 2))[0]; } function before($subject, $search) { if ($search === '') { return $subject; } $result = strstr($subject, (string) $search, true); return $result === false ? $subject : $result; } function foo($databaseEngine, $databaseVersion) { if (($databaseEngine === 'mysql' && ( (! strpos($databaseVersion, 'MariaDB') && version_compare($databaseVersion, '8.0.1', '>=')) || (strpos($databaseVersion, 'MariaDB') && version_compare(before(after($databaseVersion, '5.5.5-'), '-'), '10.6.0', '>=')) )) || ($databaseEngine === 'pgsql' && version_compare($databaseVersion, '9.5', '>=')) ) { return 'FOR UPDATE SKIP LOCKED'; } return true; } var_dump(foo('mysql', '5.5.5-10.6.4-MariaDB')); var_dump(foo('mysql', '5.5.5-10.3.4-MariaDB')); var_dump(foo('mysql', '5.5.5-10.6.4-MariaDB-log')); var_dump(foo('mysql', '10.3.31-MariaDB-log - MariaDB Server')); var_dump(foo('mysql', '10.6.4-MariaDB-log - MariaDB Server')); var_dump(foo('mysql', '10.3.31-MariaDB-log-cll-lve - MariaDB Server')); var_dump(foo('mysql', '5.5.5-10.6.4-MariaDB-1:10.6.4+maria~focal')); var_dump(foo('mysql', '5.5.5-10.3.4-MariaDB-1:10.3.4+maria~focal'));

preferences:
25.56 ms | 409 KiB | 5 Q