⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 version_compare.phpt

📁 php-4.4.7学习linux时下载的源代码
💻 PHPT
字号:
--TEST--version_compare test--FILE--<?phpprint "TESTING COMPARE\n";$special_forms = array("-dev", "a1", "b1", "RC1", "", "pl1");$operators = array(    "lt", "<",    "le", "<=",    "gt", ">",    "ge", ">=",    "eq", "=", "==",    "ne", "<>", "!=");test("1", "2");test("10", "2");test("1.0", "1.1");test("1.2", "1.0.1");foreach ($special_forms as $f1) {    foreach ($special_forms as $f2) {	test("1.0$f1", "1.0$f2");    }}print "TESTING OPERATORS\n";foreach ($special_forms as $f1) {    foreach ($special_forms as $f2) {        foreach ($operators as $op) {            $v1 = "1.0$f1";            $v2 = "1.0$f2";            $test = version_compare($v1, $v2, $op) ? "true" : "false";            printf("%7s %2s %-7s : %s\n", $v1, $op, $v2, $test);        }    }}function test($v1, $v2) {    $compare = version_compare($v1, $v2);    switch ($compare) {	case -1:	    print "$v1 < $v2\n";	    break;	case 1:	    print "$v1 > $v2\n";	    break;	case 0:	default:	    print "$v1 = $v2\n";	    break;    }}?>--EXPECT--TESTING COMPARE1 < 210 > 21.0 < 1.11.2 > 1.0.11.0-dev = 1.0-dev1.0-dev < 1.0a11.0-dev < 1.0b11.0-dev < 1.0RC11.0-dev < 1.01.0-dev < 1.0pl11.0a1 > 1.0-dev1.0a1 = 1.0a11.0a1 < 1.0b11.0a1 < 1.0RC11.0a1 < 1.01.0a1 < 1.0pl11.0b1 > 1.0-dev1.0b1 > 1.0a11.0b1 = 1.0b11.0b1 < 1.0RC11.0b1 < 1.01.0b1 < 1.0pl11.0RC1 > 1.0-dev1.0RC1 > 1.0a11.0RC1 > 1.0b11.0RC1 = 1.0RC11.0RC1 < 1.01.0RC1 < 1.0pl11.0 > 1.0-dev1.0 > 1.0a11.0 > 1.0b11.0 > 1.0RC11.0 = 1.01.0 < 1.0pl11.0pl1 > 1.0-dev1.0pl1 > 1.0a11.0pl1 > 1.0b11.0pl1 > 1.0RC11.0pl1 > 1.01.0pl1 = 1.0pl1TESTING OPERATORS1.0-dev lt 1.0-dev : false1.0-dev  < 1.0-dev : false1.0-dev le 1.0-dev : true1.0-dev <= 1.0-dev : true1.0-dev gt 1.0-dev : false1.0-dev  > 1.0-dev : false1.0-dev ge 1.0-dev : true1.0-dev >= 1.0-dev : true1.0-dev eq 1.0-dev : true1.0-dev  = 1.0-dev : true1.0-dev == 1.0-dev : true1.0-dev ne 1.0-dev : false1.0-dev <> 1.0-dev : false1.0-dev != 1.0-dev : false1.0-dev lt 1.0a1   : true1.0-dev  < 1.0a1   : true1.0-dev le 1.0a1   : true1.0-dev <= 1.0a1   : true1.0-dev gt 1.0a1   : false1.0-dev  > 1.0a1   : false1.0-dev ge 1.0a1   : false1.0-dev >= 1.0a1   : false1.0-dev eq 1.0a1   : false1.0-dev  = 1.0a1   : false1.0-dev == 1.0a1   : false1.0-dev ne 1.0a1   : true1.0-dev <> 1.0a1   : true1.0-dev != 1.0a1   : true1.0-dev lt 1.0b1   : true1.0-dev  < 1.0b1   : true1.0-dev le 1.0b1   : true1.0-dev <= 1.0b1   : true1.0-dev gt 1.0b1   : false1.0-dev  > 1.0b1   : false1.0-dev ge 1.0b1   : false1.0-dev >= 1.0b1   : false1.0-dev eq 1.0b1   : false1.0-dev  = 1.0b1   : false1.0-dev == 1.0b1   : false1.0-dev ne 1.0b1   : true1.0-dev <> 1.0b1   : true1.0-dev != 1.0b1   : true1.0-dev lt 1.0RC1  : true1.0-dev  < 1.0RC1  : true1.0-dev le 1.0RC1  : true1.0-dev <= 1.0RC1  : true1.0-dev gt 1.0RC1  : false1.0-dev  > 1.0RC1  : false1.0-dev ge 1.0RC1  : false1.0-dev >= 1.0RC1  : false1.0-dev eq 1.0RC1  : false1.0-dev  = 1.0RC1  : false1.0-dev == 1.0RC1  : false1.0-dev ne 1.0RC1  : true1.0-dev <> 1.0RC1  : true1.0-dev != 1.0RC1  : true1.0-dev lt 1.0     : true1.0-dev  < 1.0     : true1.0-dev le 1.0     : true1.0-dev <= 1.0     : true1.0-dev gt 1.0     : false1.0-dev  > 1.0     : false1.0-dev ge 1.0     : false1.0-dev >= 1.0     : false1.0-dev eq 1.0     : false1.0-dev  = 1.0     : false1.0-dev == 1.0     : false1.0-dev ne 1.0     : true1.0-dev <> 1.0     : true1.0-dev != 1.0     : true1.0-dev lt 1.0pl1  : true1.0-dev  < 1.0pl1  : true1.0-dev le 1.0pl1  : true1.0-dev <= 1.0pl1  : true1.0-dev gt 1.0pl1  : false1.0-dev  > 1.0pl1  : false1.0-dev ge 1.0pl1  : false1.0-dev >= 1.0pl1  : false1.0-dev eq 1.0pl1  : false1.0-dev  = 1.0pl1  : false1.0-dev == 1.0pl1  : false1.0-dev ne 1.0pl1  : true1.0-dev <> 1.0pl1  : true1.0-dev != 1.0pl1  : true  1.0a1 lt 1.0-dev : false  1.0a1  < 1.0-dev : false  1.0a1 le 1.0-dev : false  1.0a1 <= 1.0-dev : false  1.0a1 gt 1.0-dev : true  1.0a1  > 1.0-dev : true  1.0a1 ge 1.0-dev : true  1.0a1 >= 1.0-dev : true  1.0a1 eq 1.0-dev : false  1.0a1  = 1.0-dev : false  1.0a1 == 1.0-dev : false  1.0a1 ne 1.0-dev : true  1.0a1 <> 1.0-dev : true  1.0a1 != 1.0-dev : true  1.0a1 lt 1.0a1   : false  1.0a1  < 1.0a1   : false  1.0a1 le 1.0a1   : true  1.0a1 <= 1.0a1   : true  1.0a1 gt 1.0a1   : false  1.0a1  > 1.0a1   : false  1.0a1 ge 1.0a1   : true  1.0a1 >= 1.0a1   : true  1.0a1 eq 1.0a1   : true  1.0a1  = 1.0a1   : true  1.0a1 == 1.0a1   : true  1.0a1 ne 1.0a1   : false  1.0a1 <> 1.0a1   : false  1.0a1 != 1.0a1   : false  1.0a1 lt 1.0b1   : true  1.0a1  < 1.0b1   : true  1.0a1 le 1.0b1   : true  1.0a1 <= 1.0b1   : true  1.0a1 gt 1.0b1   : false  1.0a1  > 1.0b1   : false  1.0a1 ge 1.0b1   : false  1.0a1 >= 1.0b1   : false  1.0a1 eq 1.0b1   : false  1.0a1  = 1.0b1   : false  1.0a1 == 1.0b1   : false  1.0a1 ne 1.0b1   : true  1.0a1 <> 1.0b1   : true  1.0a1 != 1.0b1   : true  1.0a1 lt 1.0RC1  : true  1.0a1  < 1.0RC1  : true  1.0a1 le 1.0RC1  : true  1.0a1 <= 1.0RC1  : true  1.0a1 gt 1.0RC1  : false  1.0a1  > 1.0RC1  : false  1.0a1 ge 1.0RC1  : false  1.0a1 >= 1.0RC1  : false  1.0a1 eq 1.0RC1  : false  1.0a1  = 1.0RC1  : false  1.0a1 == 1.0RC1  : false  1.0a1 ne 1.0RC1  : true  1.0a1 <> 1.0RC1  : true  1.0a1 != 1.0RC1  : true  1.0a1 lt 1.0     : true  1.0a1  < 1.0     : true  1.0a1 le 1.0     : true  1.0a1 <= 1.0     : true  1.0a1 gt 1.0     : false  1.0a1  > 1.0     : false  1.0a1 ge 1.0     : false  1.0a1 >= 1.0     : false  1.0a1 eq 1.0     : false  1.0a1  = 1.0     : false  1.0a1 == 1.0     : false  1.0a1 ne 1.0     : true  1.0a1 <> 1.0     : true  1.0a1 != 1.0     : true  1.0a1 lt 1.0pl1  : true  1.0a1  < 1.0pl1  : true  1.0a1 le 1.0pl1  : true  1.0a1 <= 1.0pl1  : true  1.0a1 gt 1.0pl1  : false  1.0a1  > 1.0pl1  : false  1.0a1 ge 1.0pl1  : false  1.0a1 >= 1.0pl1  : false  1.0a1 eq 1.0pl1  : false  1.0a1  = 1.0pl1  : false  1.0a1 == 1.0pl1  : false  1.0a1 ne 1.0pl1  : true  1.0a1 <> 1.0pl1  : true  1.0a1 != 1.0pl1  : true  1.0b1 lt 1.0-dev : false  1.0b1  < 1.0-dev : false  1.0b1 le 1.0-dev : false  1.0b1 <= 1.0-dev : false  1.0b1 gt 1.0-dev : true  1.0b1  > 1.0-dev : true  1.0b1 ge 1.0-dev : true  1.0b1 >= 1.0-dev : true  1.0b1 eq 1.0-dev : false  1.0b1  = 1.0-dev : false  1.0b1 == 1.0-dev : false  1.0b1 ne 1.0-dev : true  1.0b1 <> 1.0-dev : true  1.0b1 != 1.0-dev : true  1.0b1 lt 1.0a1   : false  1.0b1  < 1.0a1   : false  1.0b1 le 1.0a1   : false  1.0b1 <= 1.0a1   : false  1.0b1 gt 1.0a1   : true  1.0b1  > 1.0a1   : true  1.0b1 ge 1.0a1   : true  1.0b1 >= 1.0a1   : true  1.0b1 eq 1.0a1   : false  1.0b1  = 1.0a1   : false  1.0b1 == 1.0a1   : false  1.0b1 ne 1.0a1   : true  1.0b1 <> 1.0a1   : true  1.0b1 != 1.0a1   : true  1.0b1 lt 1.0b1   : false  1.0b1  < 1.0b1   : false  1.0b1 le 1.0b1   : true  1.0b1 <= 1.0b1   : true  1.0b1 gt 1.0b1   : false  1.0b1  > 1.0b1   : false  1.0b1 ge 1.0b1   : true  1.0b1 >= 1.0b1   : true  1.0b1 eq 1.0b1   : true  1.0b1  = 1.0b1   : true  1.0b1 == 1.0b1   : true  1.0b1 ne 1.0b1   : false  1.0b1 <> 1.0b1   : false  1.0b1 != 1.0b1   : false  1.0b1 lt 1.0RC1  : true  1.0b1  < 1.0RC1  : true  1.0b1 le 1.0RC1  : true  1.0b1 <= 1.0RC1  : true  1.0b1 gt 1.0RC1  : false  1.0b1  > 1.0RC1  : false  1.0b1 ge 1.0RC1  : false  1.0b1 >= 1.0RC1  : false  1.0b1 eq 1.0RC1  : false  1.0b1  = 1.0RC1  : false  1.0b1 == 1.0RC1  : false  1.0b1 ne 1.0RC1  : true  1.0b1 <> 1.0RC1  : true  1.0b1 != 1.0RC1  : true  1.0b1 lt 1.0     : true  1.0b1  < 1.0     : true  1.0b1 le 1.0     : true  1.0b1 <= 1.0     : true  1.0b1 gt 1.0     : false  1.0b1  > 1.0     : false  1.0b1 ge 1.0     : false  1.0b1 >= 1.0     : false  1.0b1 eq 1.0     : false  1.0b1  = 1.0     : false  1.0b1 == 1.0     : false  1.0b1 ne 1.0     : true  1.0b1 <> 1.0     : true  1.0b1 != 1.0     : true  1.0b1 lt 1.0pl1  : true  1.0b1  < 1.0pl1  : true  1.0b1 le 1.0pl1  : true  1.0b1 <= 1.0pl1  : true  1.0b1 gt 1.0pl1  : false  1.0b1  > 1.0pl1  : false  1.0b1 ge 1.0pl1  : false  1.0b1 >= 1.0pl1  : false  1.0b1 eq 1.0pl1  : false  1.0b1  = 1.0pl1  : false  1.0b1 == 1.0pl1  : false  1.0b1 ne 1.0pl1  : true  1.0b1 <> 1.0pl1  : true  1.0b1 != 1.0pl1  : true 1.0RC1 lt 1.0-dev : false 1.0RC1  < 1.0-dev : false 1.0RC1 le 1.0-dev : false 1.0RC1 <= 1.0-dev : false 1.0RC1 gt 1.0-dev : true 1.0RC1  > 1.0-dev : true 1.0RC1 ge 1.0-dev : true 1.0RC1 >= 1.0-dev : true 1.0RC1 eq 1.0-dev : false 1.0RC1  = 1.0-dev : false 1.0RC1 == 1.0-dev : false 1.0RC1 ne 1.0-dev : true 1.0RC1 <> 1.0-dev : true 1.0RC1 != 1.0-dev : true 1.0RC1 lt 1.0a1   : false 1.0RC1  < 1.0a1   : false 1.0RC1 le 1.0a1   : false 1.0RC1 <= 1.0a1   : false 1.0RC1 gt 1.0a1   : true 1.0RC1  > 1.0a1   : true 1.0RC1 ge 1.0a1   : true 1.0RC1 >= 1.0a1   : true 1.0RC1 eq 1.0a1   : false 1.0RC1  = 1.0a1   : false 1.0RC1 == 1.0a1   : false 1.0RC1 ne 1.0a1   : true 1.0RC1 <> 1.0a1   : true 1.0RC1 != 1.0a1   : true 1.0RC1 lt 1.0b1   : false 1.0RC1  < 1.0b1   : false 1.0RC1 le 1.0b1   : false 1.0RC1 <= 1.0b1   : false 1.0RC1 gt 1.0b1   : true 1.0RC1  > 1.0b1   : true 1.0RC1 ge 1.0b1   : true 1.0RC1 >= 1.0b1   : true 1.0RC1 eq 1.0b1   : false 1.0RC1  = 1.0b1   : false 1.0RC1 == 1.0b1   : false 1.0RC1 ne 1.0b1   : true 1.0RC1 <> 1.0b1   : true 1.0RC1 != 1.0b1   : true 1.0RC1 lt 1.0RC1  : false 1.0RC1  < 1.0RC1  : false 1.0RC1 le 1.0RC1  : true 1.0RC1 <= 1.0RC1  : true 1.0RC1 gt 1.0RC1  : false 1.0RC1  > 1.0RC1  : false 1.0RC1 ge 1.0RC1  : true 1.0RC1 >= 1.0RC1  : true 1.0RC1 eq 1.0RC1  : true 1.0RC1  = 1.0RC1  : true 1.0RC1 == 1.0RC1  : true 1.0RC1 ne 1.0RC1  : false 1.0RC1 <> 1.0RC1  : false 1.0RC1 != 1.0RC1  : false 1.0RC1 lt 1.0     : true 1.0RC1  < 1.0     : true 1.0RC1 le 1.0     : true 1.0RC1 <= 1.0     : true 1.0RC1 gt 1.0     : false 1.0RC1  > 1.0     : false 1.0RC1 ge 1.0     : false 1.0RC1 >= 1.0     : false 1.0RC1 eq 1.0     : false 1.0RC1  = 1.0     : false 1.0RC1 == 1.0     : false 1.0RC1 ne 1.0     : true 1.0RC1 <> 1.0     : true 1.0RC1 != 1.0     : true 1.0RC1 lt 1.0pl1  : true 1.0RC1  < 1.0pl1  : true 1.0RC1 le 1.0pl1  : true 1.0RC1 <= 1.0pl1  : true 1.0RC1 gt 1.0pl1  : false 1.0RC1  > 1.0pl1  : false 1.0RC1 ge 1.0pl1  : false 1.0RC1 >= 1.0pl1  : false 1.0RC1 eq 1.0pl1  : false 1.0RC1  = 1.0pl1  : false 1.0RC1 == 1.0pl1  : false 1.0RC1 ne 1.0pl1  : true 1.0RC1 <> 1.0pl1  : true 1.0RC1 != 1.0pl1  : true    1.0 lt 1.0-dev : false    1.0  < 1.0-dev : false    1.0 le 1.0-dev : false    1.0 <= 1.0-dev : false    1.0 gt 1.0-dev : true    1.0  > 1.0-dev : true    1.0 ge 1.0-dev : true    1.0 >= 1.0-dev : true    1.0 eq 1.0-dev : false    1.0  = 1.0-dev : false    1.0 == 1.0-dev : false    1.0 ne 1.0-dev : true    1.0 <> 1.0-dev : true    1.0 != 1.0-dev : true    1.0 lt 1.0a1   : false    1.0  < 1.0a1   : false    1.0 le 1.0a1   : false    1.0 <= 1.0a1   : false    1.0 gt 1.0a1   : true    1.0  > 1.0a1   : true    1.0 ge 1.0a1   : true    1.0 >= 1.0a1   : true    1.0 eq 1.0a1   : false    1.0  = 1.0a1   : false    1.0 == 1.0a1   : false    1.0 ne 1.0a1   : true    1.0 <> 1.0a1   : true    1.0 != 1.0a1   : true    1.0 lt 1.0b1   : false    1.0  < 1.0b1   : false    1.0 le 1.0b1   : false    1.0 <= 1.0b1   : false    1.0 gt 1.0b1   : true    1.0  > 1.0b1   : true    1.0 ge 1.0b1   : true    1.0 >= 1.0b1   : true    1.0 eq 1.0b1   : false    1.0  = 1.0b1   : false    1.0 == 1.0b1   : false    1.0 ne 1.0b1   : true    1.0 <> 1.0b1   : true    1.0 != 1.0b1   : true    1.0 lt 1.0RC1  : false    1.0  < 1.0RC1  : false    1.0 le 1.0RC1  : false    1.0 <= 1.0RC1  : false    1.0 gt 1.0RC1  : true    1.0  > 1.0RC1  : true    1.0 ge 1.0RC1  : true    1.0 >= 1.0RC1  : true    1.0 eq 1.0RC1  : false    1.0  = 1.0RC1  : false    1.0 == 1.0RC1  : false    1.0 ne 1.0RC1  : true    1.0 <> 1.0RC1  : true    1.0 != 1.0RC1  : true    1.0 lt 1.0     : false    1.0  < 1.0     : false    1.0 le 1.0     : true    1.0 <= 1.0     : true    1.0 gt 1.0     : false    1.0  > 1.0     : false    1.0 ge 1.0     : true    1.0 >= 1.0     : true    1.0 eq 1.0     : true    1.0  = 1.0     : true    1.0 == 1.0     : true    1.0 ne 1.0     : false    1.0 <> 1.0     : false    1.0 != 1.0     : false    1.0 lt 1.0pl1  : true    1.0  < 1.0pl1  : true    1.0 le 1.0pl1  : true    1.0 <= 1.0pl1  : true    1.0 gt 1.0pl1  : false    1.0  > 1.0pl1  : false    1.0 ge 1.0pl1  : false    1.0 >= 1.0pl1  : false    1.0 eq 1.0pl1  : false    1.0  = 1.0pl1  : false    1.0 == 1.0pl1  : false    1.0 ne 1.0pl1  : true    1.0 <> 1.0pl1  : true    1.0 != 1.0pl1  : true 1.0pl1 lt 1.0-dev : false 1.0pl1  < 1.0-dev : false 1.0pl1 le 1.0-dev : false 1.0pl1 <= 1.0-dev : false 1.0pl1 gt 1.0-dev : true 1.0pl1  > 1.0-dev : true 1.0pl1 ge 1.0-dev : true 1.0pl1 >= 1.0-dev : true 1.0pl1 eq 1.0-dev : false 1.0pl1  = 1.0-dev : false 1.0pl1 == 1.0-dev : false 1.0pl1 ne 1.0-dev : true 1.0pl1 <> 1.0-dev : true 1.0pl1 != 1.0-dev : true 1.0pl1 lt 1.0a1   : false 1.0pl1  < 1.0a1   : false 1.0pl1 le 1.0a1   : false 1.0pl1 <= 1.0a1   : false 1.0pl1 gt 1.0a1   : true 1.0pl1  > 1.0a1   : true 1.0pl1 ge 1.0a1   : true 1.0pl1 >= 1.0a1   : true 1.0pl1 eq 1.0a1   : false 1.0pl1  = 1.0a1   : false 1.0pl1 == 1.0a1   : false 1.0pl1 ne 1.0a1   : true 1.0pl1 <> 1.0a1   : true 1.0pl1 != 1.0a1   : true 1.0pl1 lt 1.0b1   : false 1.0pl1  < 1.0b1   : false 1.0pl1 le 1.0b1   : false 1.0pl1 <= 1.0b1   : false 1.0pl1 gt 1.0b1   : true 1.0pl1  > 1.0b1   : true 1.0pl1 ge 1.0b1   : true 1.0pl1 >= 1.0b1   : true 1.0pl1 eq 1.0b1   : false 1.0pl1  = 1.0b1   : false 1.0pl1 == 1.0b1   : false 1.0pl1 ne 1.0b1   : true 1.0pl1 <> 1.0b1   : true 1.0pl1 != 1.0b1   : true 1.0pl1 lt 1.0RC1  : false 1.0pl1  < 1.0RC1  : false 1.0pl1 le 1.0RC1  : false 1.0pl1 <= 1.0RC1  : false 1.0pl1 gt 1.0RC1  : true 1.0pl1  > 1.0RC1  : true 1.0pl1 ge 1.0RC1  : true 1.0pl1 >= 1.0RC1  : true 1.0pl1 eq 1.0RC1  : false 1.0pl1  = 1.0RC1  : false 1.0pl1 == 1.0RC1  : false 1.0pl1 ne 1.0RC1  : true 1.0pl1 <> 1.0RC1  : true 1.0pl1 != 1.0RC1  : true 1.0pl1 lt 1.0     : false 1.0pl1  < 1.0     : false 1.0pl1 le 1.0     : false 1.0pl1 <= 1.0     : false 1.0pl1 gt 1.0     : true 1.0pl1  > 1.0     : true 1.0pl1 ge 1.0     : true 1.0pl1 >= 1.0     : true 1.0pl1 eq 1.0     : false 1.0pl1  = 1.0     : false 1.0pl1 == 1.0     : false 1.0pl1 ne 1.0     : true 1.0pl1 <> 1.0     : true 1.0pl1 != 1.0     : true 1.0pl1 lt 1.0pl1  : false 1.0pl1  < 1.0pl1  : false 1.0pl1 le 1.0pl1  : true 1.0pl1 <= 1.0pl1  : true 1.0pl1 gt 1.0pl1  : false 1.0pl1  > 1.0pl1  : false 1.0pl1 ge 1.0pl1  : true 1.0pl1 >= 1.0pl1  : true 1.0pl1 eq 1.0pl1  : true 1.0pl1  = 1.0pl1  : true 1.0pl1 == 1.0pl1  : true 1.0pl1 ne 1.0pl1  : false 1.0pl1 <> 1.0pl1  : false 1.0pl1 != 1.0pl1  : false

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -