note 43710 deleted from function.version-compare by cmb

From: Date: Mon, 26 Oct 2020 16:11:52 +0000
Subject: note 43710 deleted from function.version-compare by cmb
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-215655@lists.php.net to get a copy of this message
Note Submitter: mina86 at tlen dot pl ---- Here's a wrapper which is more tolerant as far as order of arguments is considered: <?php function ver_cmp($arg1, $arg2 = null, $arg3 = null) { static $phpversion = null; if ($phpversion===null) $phpversion = phpversion(); switch (func_num_args()) { case 1: return version_compare($phpversion, $arg1); case 2: if (preg_match('/^[lg][te]|[<>]=?|[!=]?=|eq|ne|<>$/i', $arg1)) return version_compare($phpversion, $arg2, $arg1); elseif (preg_match('/^[lg][te]|[<>]=?|[!=]?=|eq|ne|<>$/i', $arg2)) return version_compare($phpversion, $arg1, $arg2); return version_compare($arg1, $arg2); default: $ver1 = $arg1; if (preg_match('/^[lg][te]|[<>]=?|[!=]?=|eq|ne|<>$/i', $arg2)) return version_compare($arg1, $arg3, $arg2); return version_compare($arg1, $arg2, $arg3); } } ?> It also uses phpversion() as a default version if only one string is present. It can make your code look nicer 'cuz you can now write: <?php if (ver_cmp($version1, '>=', $version2)) something; ?> and to check a version string against the PHP's version you might use: <?php if (ver_cmp('>=', $version)) something; ?> instead of using phpversion().

« previous php.notes (#215655) next »