note 118230 added to function.version-compare
| From: | BobRay | Date: | Thu, 29 Oct 2015 23:07:36 +0000 |
| Subject: | note 118230 added to function.version-compare | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-204054@lists.php.net to get a copy of this message | ||
Note that both leading and trailing spaces on your version numbers can break version_compare().
Tested on PHP 5.6.8:
<?php
echo "\nShould be 0";
echo "\n '1.0.0-pl' vs. '1.0.0-pl' ---> " .
version_compare('1.0.0-pl', '1.0.0-pl');
echo "\n '1.0.0-pl' vs. ' 1.0.0-pl' ---> " .
version_compare('1.0.0-pl', ' 1.0.0-pl');
echo "\n ' 1.0.0-pl' vs. '1.0.0-pl' ---> " . version_compare('
1.0.0-pl', '1.0.0-pl');
echo "\n '1.0.0-pl' vs. '1.0.0-pl ' ---> " .
version_compare('1.0.0-pl', '1.0.0-pl ');
echo "\n '1.0.0-pl ' vs. '1.0.0-pl' ---> " .
version_compare('1.0.0-pl ', '1.0.0-pl');
echo "\n\nShould be 1";
echo "\n '1.1.1-pl' vs. '1.0.0-pl' ---> " .
version_compare('1.1.1-pl', '1.0.0-pl');
echo "\n ' 1.1.1-pl' vs. '1.0.0-pl' ---> " . version_compare('
1.1.1-pl', '1.0.0-pl');
echo "\n\nShould be -1";
echo "\n '1.0.0-pl' vs. '1.1.1-pl' ---> " .
version_compare('1.0.0-pl', '1.1.1-pl');
echo "\n '1.0.0-pl' vs. ' 1.1.1-pl' ---> " .
version_compare('1.0.0-pl', ' 1.1.1-pl');
/* Output
Should be 0
'1.0.0-pl' vs. '1.0.0-pl' ---> 0
'1.0.0-pl' vs. ' 1.0.0-pl' ---> 1
' 1.0.0-pl' vs. '1.0.0-pl' ---> -1
'1.0.0-pl' vs. '1.0.0-pl ' ---> 1
'1.0.0-pl ' vs. '1.0.0-pl' ---> -1
Should be 1
'1.1.1-pl' vs. '1.0.0-pl' ---> 1
' 1.1.1-pl' vs. '1.0.0-pl' ---> -1
Should be -1
'1.0.0-pl' vs. '1.1.1-pl' ---> -1
'1.0.0-pl' vs. ' 1.1.1-pl' ---> 1
*/
----
Server IP: 72.52.91.14
Probable Submitter: 70.196.142.252
----
Manual Page -- http://php.net/manual/en/function.version-compare.php
Edit -- https://master.php.net/note/edit/118230
Del: integrated -- https://master.php.net/note/delete/118230/integrated
Del: useless -- https://master.php.net/note/delete/118230/useless
Del: bad code -- https://master.php.net/note/delete/118230/bad+code
Del: spam -- https://master.php.net/note/delete/118230/spam
Del: non-english -- https://master.php.net/note/delete/118230/non-english
Del: in docs -- https://master.php.net/note/delete/118230/in+docs
Del: other reasons-- https://master.php.net/note/delete/118230
Reject -- https://master.php.net/note/reject/118230
Search -- https://master.php.net/manage/user-notes.php