Php 如何使用包含2个小数点的数字获得更大的值
我们有没有办法找到哪个版本更高,也就是说,如果php或mysql中的1.0.1大于1.0.13 收到任何帮助, 谢谢是一个内置的PHP函数,用于实现这一点(比较版本号);那会满足你的要求Php 如何使用包含2个小数点的数字获得更大的值,php,mysql,Php,Mysql,我们有没有办法找到哪个版本更高,也就是说,如果php或mysql中的1.0.1大于1.0.13 收到任何帮助, 谢谢是一个内置的PHP函数,用于实现这一点(比较版本号);那会满足你的要求 version_compare('1.0.1', '1.0.13'); // -1 version_compare('1.0.1', '1.0.1'); // 0 version_compare('1.0.13', '1.0.1'); // 1 从文档中: 如果第一个版本低于当前版本,version_com
version_compare('1.0.1', '1.0.13'); // -1
version_compare('1.0.1', '1.0.1'); // 0
version_compare('1.0.13', '1.0.1'); // 1
从文档中: 如果第一个版本低于当前版本,version_compare()将返回-1 第二,如果相等,则为0,如果第二个较小,则为1 是一个内置的PHP函数,用于比较版本号;那会满足你的要求
version_compare('1.0.1', '1.0.13'); // -1
version_compare('1.0.1', '1.0.1'); // 0
version_compare('1.0.13', '1.0.1'); // 1
从文档中: 如果第一个版本低于当前版本,version_compare()将返回-1 第二,如果相等,则为0,如果第二个较小,则为1
这里有一个漏洞-尽管,巧妙地说,这个漏洞也暴露了这种方法的一个缺陷
SELECT INET_NTOA(GREATEST(INET_ATON('1.0.1'),INET_ATON('1.0.13'))) greatest;
+----------+
| greatest |
+----------+
| 1.0.0.13 |
+----------+
这里有一个黑客-虽然,巧妙地说,这个黑客也抛出了这种方法的缺陷之一
SELECT INET_NTOA(GREATEST(INET_ATON('1.0.1'),INET_ATON('1.0.13'))) greatest;
+----------+
| greatest |
+----------+
| 1.0.0.13 |
+----------+
还有一个黑客:
select
concat(substring_index('1.0.1', '.', 1), substring_index('1.0.1', '.', -2)) + 0 as ver1,
concat(substring_index('1.0.13', '.', 1), substring_index('1.0.13', '.', -2)) + 0 as ver1,
concat(substring_index('1.0.1', '.', 1), substring_index('1.0.1', '.', -2)) + 0
>=
concat(substring_index('1.0.13', '.', 1), substring_index('1.0.13', '.', -2)) + 0 as result
+------+-------+--------+
| ver1 | ver1 | result |
+------+-------+--------+
| 10.1 | 10.13 | 0 |
+------+-------+--------+
还有一个黑客:
select
concat(substring_index('1.0.1', '.', 1), substring_index('1.0.1', '.', -2)) + 0 as ver1,
concat(substring_index('1.0.13', '.', 1), substring_index('1.0.13', '.', -2)) + 0 as ver1,
concat(substring_index('1.0.1', '.', 1), substring_index('1.0.1', '.', -2)) + 0
>=
concat(substring_index('1.0.13', '.', 1), substring_index('1.0.13', '.', -2)) + 0 as result
+------+-------+--------+
| ver1 | ver1 | result |
+------+-------+--------+
| 10.1 | 10.13 | 0 |
+------+-------+--------+
试试这个
select greatest('1.0.1', '1.0.13');
希望这有帮助。试试这个
select greatest('1.0.1', '1.0.13');
希望这能有所帮助。大家好,欢迎来到Stackoverflow!请花一分钟时间阅读本教程,了解更好的问题:stackoverflow.com/help/how-to-ask-特别是如何提供一个迄今为止您尝试过的示例:。您好,欢迎来到stackoverflow!请花一分钟时间阅读本教程,了解更好的问题:stackoverflow.com/help/how-to-ask-特别是如何提供一个迄今为止您尝试过的好例子:。