Improved number to string comparison semantics

RFC: https://wiki.php.net/rfc/string_to_number_comparison

Closes GH-3886.
This commit is contained in:
Nikita Popov 2019-02-21 17:38:25 +01:00
parent 2940839d28
commit acbf7802af
47 changed files with 441 additions and 272 deletions

View file

@ -199,6 +199,11 @@ PHP 8.0 UPGRADE NOTES
RFC: https://wiki.php.net/rfc/inheritance_private_methods
. If an object constructor exit()s, the object destructor will no longer be
called. This matches the behavior when the constructor throws.
. Non-strict comparisons between numbers and non-numeric strings now work by
casting the number to string and comparing the strings. Comparisons between
numbers and numeric strings continue to work as before. Notably, this means
that `0 == "not-a-number"` is considered false now.
RFC: https://wiki.php.net/rfc/string_to_number_comparison
- COM:
. Removed the ability to import case-insensitive constants from type

View file

@ -70,7 +70,7 @@ string(0) "" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" == string(0) ""
string(0) "" != int(1)
string(0) "" != float(2.5)
string(0) "" == int(0)
string(0) "" != int(0)
string(0) "" != string(6) "string"
string(0) "" != string(3) "123"
string(0) "" != string(3) "2.5"
@ -130,11 +130,11 @@ float(2.5) != array(0) {}
float(2.5) != int(-2147483648)
float(2.5) != string(11) "-2147483648"
int(0) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) == string(0) ""
int(0) != string(0) ""
int(0) != int(1)
int(0) != float(2.5)
int(0) == int(0)
int(0) == string(6) "string"
int(0) != string(6) "string"
int(0) != string(3) "123"
int(0) != string(3) "2.5"
int(0) == NULL
@ -156,7 +156,7 @@ string(6) "string" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" != string(0) ""
string(6) "string" != int(1)
string(6) "string" != float(2.5)
string(6) "string" == int(0)
string(6) "string" != int(0)
string(6) "string" == string(6) "string"
string(6) "string" != string(3) "123"
string(6) "string" != string(3) "2.5"

View file

@ -70,7 +70,7 @@ string(0) "" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" == string(0) ""
string(0) "" != int(1)
string(0) "" != float(2.5)
string(0) "" == int(0)
string(0) "" != int(0)
string(0) "" != string(6) "string"
string(0) "" != string(3) "123"
string(0) "" != string(3) "2.5"
@ -130,11 +130,11 @@ float(2.5) != array(0) {}
float(2.5) != int(-9223372036854775808)
float(2.5) != string(20) "-9223372036854775808"
int(0) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) == string(0) ""
int(0) != string(0) ""
int(0) != int(1)
int(0) != float(2.5)
int(0) == int(0)
int(0) == string(6) "string"
int(0) != string(6) "string"
int(0) != string(3) "123"
int(0) != string(3) "2.5"
int(0) == NULL
@ -156,7 +156,7 @@ string(6) "string" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" != string(0) ""
string(6) "string" != int(1)
string(6) "string" != float(2.5)
string(6) "string" == int(0)
string(6) "string" != int(0)
string(6) "string" == string(6) "string"
string(6) "string" != string(3) "123"
string(6) "string" != string(3) "2.5"

View file

@ -81,14 +81,14 @@ string(0) "" <= object(stdClass)#1 (0) {}
string(0) "" <= object(stdClass)#2 (0) {}
string(0) "" <= object(test)#3 (0) {}
string(0) "" <= array(0) {}
string(0) "" > int(-2147483648)
string(0) "" <= int(-2147483648)
string(0) "" <= string(11) "-2147483648"
int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) > string(0) ""
int(1) <= int(1)
int(1) <= float(2.5)
int(1) > int(0)
int(1) > string(6) "string"
int(1) <= string(6) "string"
int(1) <= string(3) "123"
int(1) <= string(3) "2.5"
int(1) > NULL
@ -111,7 +111,7 @@ float(2.5) > string(0) ""
float(2.5) > int(1)
float(2.5) <= float(2.5)
float(2.5) > int(0)
float(2.5) > string(6) "string"
float(2.5) <= string(6) "string"
float(2.5) <= string(3) "123"
float(2.5) <= string(3) "2.5"
float(2.5) > NULL
@ -130,7 +130,7 @@ float(2.5) <= array(0) {}
float(2.5) > int(-2147483648)
float(2.5) > string(11) "-2147483648"
int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) <= string(0) ""
int(0) > string(0) ""
int(0) <= int(1)
int(0) <= float(2.5)
int(0) <= int(0)
@ -154,9 +154,9 @@ int(0) > int(-2147483648)
int(0) > string(11) "-2147483648"
string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" > string(0) ""
string(6) "string" <= int(1)
string(6) "string" <= float(2.5)
string(6) "string" <= int(0)
string(6) "string" > int(1)
string(6) "string" > float(2.5)
string(6) "string" > int(0)
string(6) "string" <= string(6) "string"
string(6) "string" > string(3) "123"
string(6) "string" > string(3) "2.5"
@ -347,7 +347,7 @@ array(0) {} <= array(0) {}
array(0) {} > int(-2147483648)
array(0) {} > string(11) "-2147483648"
int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-2147483648) <= string(0) ""
int(-2147483648) > string(0) ""
int(-2147483648) <= int(1)
int(-2147483648) <= float(2.5)
int(-2147483648) <= int(0)

View file

@ -81,14 +81,14 @@ string(0) "" <= object(stdClass)#%d (0) {}
string(0) "" <= object(stdClass)#%d (0) {}
string(0) "" <= object(test)#%d (0) {}
string(0) "" <= array(0) {}
string(0) "" > int(-9223372036854775808)
string(0) "" <= int(-9223372036854775808)
string(0) "" <= string(20) "-9223372036854775808"
int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) > string(0) ""
int(1) <= int(1)
int(1) <= float(2.5)
int(1) > int(0)
int(1) > string(6) "string"
int(1) <= string(6) "string"
int(1) <= string(3) "123"
int(1) <= string(3) "2.5"
int(1) > NULL
@ -111,7 +111,7 @@ float(2.5) > string(0) ""
float(2.5) > int(1)
float(2.5) <= float(2.5)
float(2.5) > int(0)
float(2.5) > string(6) "string"
float(2.5) <= string(6) "string"
float(2.5) <= string(3) "123"
float(2.5) <= string(3) "2.5"
float(2.5) > NULL
@ -130,7 +130,7 @@ float(2.5) <= array(0) {}
float(2.5) > int(-9223372036854775808)
float(2.5) > string(20) "-9223372036854775808"
int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) <= string(0) ""
int(0) > string(0) ""
int(0) <= int(1)
int(0) <= float(2.5)
int(0) <= int(0)
@ -154,9 +154,9 @@ int(0) > int(-9223372036854775808)
int(0) > string(20) "-9223372036854775808"
string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" > string(0) ""
string(6) "string" <= int(1)
string(6) "string" <= float(2.5)
string(6) "string" <= int(0)
string(6) "string" > int(1)
string(6) "string" > float(2.5)
string(6) "string" > int(0)
string(6) "string" <= string(6) "string"
string(6) "string" > string(3) "123"
string(6) "string" > string(3) "2.5"
@ -347,7 +347,7 @@ array(0) {} <= array(0) {}
array(0) {} > int(-9223372036854775808)
array(0) {} > string(20) "-9223372036854775808"
int(-9223372036854775808) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-9223372036854775808) <= string(0) ""
int(-9223372036854775808) > string(0) ""
int(-9223372036854775808) <= int(1)
int(-9223372036854775808) <= float(2.5)
int(-9223372036854775808) <= int(0)

View file

@ -70,7 +70,7 @@ string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" >= string(0) ""
string(0) "" < int(1)
string(0) "" < float(2.5)
string(0) "" >= int(0)
string(0) "" < int(0)
string(0) "" < string(6) "string"
string(0) "" < string(3) "123"
string(0) "" < string(3) "2.5"
@ -81,14 +81,14 @@ string(0) "" < object(stdClass)#1 (0) {}
string(0) "" < object(stdClass)#2 (0) {}
string(0) "" < object(test)#3 (0) {}
string(0) "" < array(0) {}
string(0) "" >= int(-2147483648)
string(0) "" < int(-2147483648)
string(0) "" < string(11) "-2147483648"
int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) >= string(0) ""
int(1) >= int(1)
int(1) < float(2.5)
int(1) >= int(0)
int(1) >= string(6) "string"
int(1) < string(6) "string"
int(1) < string(3) "123"
int(1) < string(3) "2.5"
int(1) >= NULL
@ -111,7 +111,7 @@ float(2.5) >= string(0) ""
float(2.5) >= int(1)
float(2.5) >= float(2.5)
float(2.5) >= int(0)
float(2.5) >= string(6) "string"
float(2.5) < string(6) "string"
float(2.5) < string(3) "123"
float(2.5) >= string(3) "2.5"
float(2.5) >= NULL
@ -134,7 +134,7 @@ int(0) >= string(0) ""
int(0) < int(1)
int(0) < float(2.5)
int(0) >= int(0)
int(0) >= string(6) "string"
int(0) < string(6) "string"
int(0) < string(3) "123"
int(0) < string(3) "2.5"
int(0) >= NULL
@ -154,8 +154,8 @@ int(0) >= int(-2147483648)
int(0) >= string(11) "-2147483648"
string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" >= string(0) ""
string(6) "string" < int(1)
string(6) "string" < float(2.5)
string(6) "string" >= int(1)
string(6) "string" >= float(2.5)
string(6) "string" >= int(0)
string(6) "string" >= string(6) "string"
string(6) "string" >= string(3) "123"
@ -347,7 +347,7 @@ array(0) {} >= array(0) {}
array(0) {} >= int(-2147483648)
array(0) {} >= string(11) "-2147483648"
int(-2147483648) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-2147483648) < string(0) ""
int(-2147483648) >= string(0) ""
int(-2147483648) < int(1)
int(-2147483648) < float(2.5)
int(-2147483648) < int(0)

View file

@ -70,7 +70,7 @@ string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" >= string(0) ""
string(0) "" < int(1)
string(0) "" < float(2.5)
string(0) "" >= int(0)
string(0) "" < int(0)
string(0) "" < string(6) "string"
string(0) "" < string(3) "123"
string(0) "" < string(3) "2.5"
@ -81,14 +81,14 @@ string(0) "" < object(stdClass)#%d (0) {}
string(0) "" < object(stdClass)#%d (0) {}
string(0) "" < object(test)#%d (0) {}
string(0) "" < array(0) {}
string(0) "" >= int(-9223372036854775808)
string(0) "" < int(-9223372036854775808)
string(0) "" < string(20) "-9223372036854775808"
int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) >= string(0) ""
int(1) >= int(1)
int(1) < float(2.5)
int(1) >= int(0)
int(1) >= string(6) "string"
int(1) < string(6) "string"
int(1) < string(3) "123"
int(1) < string(3) "2.5"
int(1) >= NULL
@ -111,7 +111,7 @@ float(2.5) >= string(0) ""
float(2.5) >= int(1)
float(2.5) >= float(2.5)
float(2.5) >= int(0)
float(2.5) >= string(6) "string"
float(2.5) < string(6) "string"
float(2.5) < string(3) "123"
float(2.5) >= string(3) "2.5"
float(2.5) >= NULL
@ -134,7 +134,7 @@ int(0) >= string(0) ""
int(0) < int(1)
int(0) < float(2.5)
int(0) >= int(0)
int(0) >= string(6) "string"
int(0) < string(6) "string"
int(0) < string(3) "123"
int(0) < string(3) "2.5"
int(0) >= NULL
@ -154,8 +154,8 @@ int(0) >= int(-9223372036854775808)
int(0) >= string(20) "-9223372036854775808"
string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" >= string(0) ""
string(6) "string" < int(1)
string(6) "string" < float(2.5)
string(6) "string" >= int(1)
string(6) "string" >= float(2.5)
string(6) "string" >= int(0)
string(6) "string" >= string(6) "string"
string(6) "string" >= string(3) "123"
@ -347,7 +347,7 @@ array(0) {} >= array(0) {}
array(0) {} >= int(-9223372036854775808)
array(0) {} >= string(20) "-9223372036854775808"
int(-9223372036854775808) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-9223372036854775808) < string(0) ""
int(-9223372036854775808) >= string(0) ""
int(-9223372036854775808) < int(1)
int(-9223372036854775808) < float(2.5)
int(-9223372036854775808) < int(0)

View file

@ -70,7 +70,7 @@ string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" >= string(0) ""
string(0) "" < int(1)
string(0) "" < float(2.5)
string(0) "" >= int(0)
string(0) "" < int(0)
string(0) "" < string(6) "string"
string(0) "" < string(3) "123"
string(0) "" < string(3) "2.5"
@ -81,14 +81,14 @@ string(0) "" < object(stdClass)#1 (0) {}
string(0) "" < object(stdClass)#2 (0) {}
string(0) "" < object(test)#3 (0) {}
string(0) "" < array(0) {}
string(0) "" >= int(-2147483648)
string(0) "" < int(-2147483648)
string(0) "" < string(11) "-2147483648"
int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) >= string(0) ""
int(1) >= int(1)
int(1) < float(2.5)
int(1) >= int(0)
int(1) >= string(6) "string"
int(1) < string(6) "string"
int(1) < string(3) "123"
int(1) < string(3) "2.5"
int(1) >= NULL
@ -111,7 +111,7 @@ float(2.5) >= string(0) ""
float(2.5) >= int(1)
float(2.5) >= float(2.5)
float(2.5) >= int(0)
float(2.5) >= string(6) "string"
float(2.5) < string(6) "string"
float(2.5) < string(3) "123"
float(2.5) >= string(3) "2.5"
float(2.5) >= NULL
@ -134,7 +134,7 @@ int(0) >= string(0) ""
int(0) < int(1)
int(0) < float(2.5)
int(0) >= int(0)
int(0) >= string(6) "string"
int(0) < string(6) "string"
int(0) < string(3) "123"
int(0) < string(3) "2.5"
int(0) >= NULL
@ -154,8 +154,8 @@ int(0) >= int(-2147483648)
int(0) >= string(11) "-2147483648"
string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" >= string(0) ""
string(6) "string" < int(1)
string(6) "string" < float(2.5)
string(6) "string" >= int(1)
string(6) "string" >= float(2.5)
string(6) "string" >= int(0)
string(6) "string" >= string(6) "string"
string(6) "string" >= string(3) "123"
@ -347,7 +347,7 @@ array(0) {} >= array(0) {}
array(0) {} >= int(-2147483648)
array(0) {} >= string(11) "-2147483648"
int(-2147483648) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-2147483648) < string(0) ""
int(-2147483648) >= string(0) ""
int(-2147483648) < int(1)
int(-2147483648) < float(2.5)
int(-2147483648) < int(0)

View file

@ -70,7 +70,7 @@ string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(0) "" >= string(0) ""
string(0) "" < int(1)
string(0) "" < float(2.5)
string(0) "" >= int(0)
string(0) "" < int(0)
string(0) "" < string(6) "string"
string(0) "" < string(3) "123"
string(0) "" < string(3) "2.5"
@ -81,14 +81,14 @@ string(0) "" < object(stdClass)#%d (0) {}
string(0) "" < object(stdClass)#%d (0) {}
string(0) "" < object(test)#%d (0) {}
string(0) "" < array(0) {}
string(0) "" >= int(-9223372036854775808)
string(0) "" < int(-9223372036854775808)
string(0) "" < string(20) "-9223372036854775808"
int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) >= string(0) ""
int(1) >= int(1)
int(1) < float(2.5)
int(1) >= int(0)
int(1) >= string(6) "string"
int(1) < string(6) "string"
int(1) < string(3) "123"
int(1) < string(3) "2.5"
int(1) >= NULL
@ -111,7 +111,7 @@ float(2.5) >= string(0) ""
float(2.5) >= int(1)
float(2.5) >= float(2.5)
float(2.5) >= int(0)
float(2.5) >= string(6) "string"
float(2.5) < string(6) "string"
float(2.5) < string(3) "123"
float(2.5) >= string(3) "2.5"
float(2.5) >= NULL
@ -134,7 +134,7 @@ int(0) >= string(0) ""
int(0) < int(1)
int(0) < float(2.5)
int(0) >= int(0)
int(0) >= string(6) "string"
int(0) < string(6) "string"
int(0) < string(3) "123"
int(0) < string(3) "2.5"
int(0) >= NULL
@ -154,8 +154,8 @@ int(0) >= int(-9223372036854775808)
int(0) >= string(20) "-9223372036854775808"
string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" >= string(0) ""
string(6) "string" < int(1)
string(6) "string" < float(2.5)
string(6) "string" >= int(1)
string(6) "string" >= float(2.5)
string(6) "string" >= int(0)
string(6) "string" >= string(6) "string"
string(6) "string" >= string(3) "123"
@ -347,7 +347,7 @@ array(0) {} >= array(0) {}
array(0) {} >= int(-9223372036854775808)
array(0) {} >= string(20) "-9223372036854775808"
int(-9223372036854775808) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-9223372036854775808) < string(0) ""
int(-9223372036854775808) >= string(0) ""
int(-9223372036854775808) < int(1)
int(-9223372036854775808) < float(2.5)
int(-9223372036854775808) < int(0)

View file

@ -81,14 +81,14 @@ string(0) "" <= object(stdClass)#1 (0) {}
string(0) "" <= object(stdClass)#2 (0) {}
string(0) "" <= object(test)#3 (0) {}
string(0) "" <= array(0) {}
string(0) "" > int(-2147483648)
string(0) "" <= int(-2147483648)
string(0) "" <= string(11) "-2147483648"
int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) > string(0) ""
int(1) <= int(1)
int(1) <= float(2.5)
int(1) > int(0)
int(1) > string(6) "string"
int(1) <= string(6) "string"
int(1) <= string(3) "123"
int(1) <= string(3) "2.5"
int(1) > NULL
@ -111,7 +111,7 @@ float(2.5) > string(0) ""
float(2.5) > int(1)
float(2.5) <= float(2.5)
float(2.5) > int(0)
float(2.5) > string(6) "string"
float(2.5) <= string(6) "string"
float(2.5) <= string(3) "123"
float(2.5) <= string(3) "2.5"
float(2.5) > NULL
@ -130,7 +130,7 @@ float(2.5) <= array(0) {}
float(2.5) > int(-2147483648)
float(2.5) > string(11) "-2147483648"
int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) <= string(0) ""
int(0) > string(0) ""
int(0) <= int(1)
int(0) <= float(2.5)
int(0) <= int(0)
@ -154,9 +154,9 @@ int(0) > int(-2147483648)
int(0) > string(11) "-2147483648"
string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" > string(0) ""
string(6) "string" <= int(1)
string(6) "string" <= float(2.5)
string(6) "string" <= int(0)
string(6) "string" > int(1)
string(6) "string" > float(2.5)
string(6) "string" > int(0)
string(6) "string" <= string(6) "string"
string(6) "string" > string(3) "123"
string(6) "string" > string(3) "2.5"
@ -347,7 +347,7 @@ array(0) {} <= array(0) {}
array(0) {} > int(-2147483648)
array(0) {} > string(11) "-2147483648"
int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-2147483648) <= string(0) ""
int(-2147483648) > string(0) ""
int(-2147483648) <= int(1)
int(-2147483648) <= float(2.5)
int(-2147483648) <= int(0)

View file

@ -81,14 +81,14 @@ string(0) "" <= object(stdClass)#%d (0) {}
string(0) "" <= object(stdClass)#%d (0) {}
string(0) "" <= object(test)#%d (0) {}
string(0) "" <= array(0) {}
string(0) "" > int(-9223372036854775808)
string(0) "" <= int(-9223372036854775808)
string(0) "" <= string(20) "-9223372036854775808"
int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(1) > string(0) ""
int(1) <= int(1)
int(1) <= float(2.5)
int(1) > int(0)
int(1) > string(6) "string"
int(1) <= string(6) "string"
int(1) <= string(3) "123"
int(1) <= string(3) "2.5"
int(1) > NULL
@ -111,7 +111,7 @@ float(2.5) > string(0) ""
float(2.5) > int(1)
float(2.5) <= float(2.5)
float(2.5) > int(0)
float(2.5) > string(6) "string"
float(2.5) <= string(6) "string"
float(2.5) <= string(3) "123"
float(2.5) <= string(3) "2.5"
float(2.5) > NULL
@ -130,7 +130,7 @@ float(2.5) <= array(0) {}
float(2.5) > int(-9223372036854775808)
float(2.5) > string(20) "-9223372036854775808"
int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(0) <= string(0) ""
int(0) > string(0) ""
int(0) <= int(1)
int(0) <= float(2.5)
int(0) <= int(0)
@ -154,9 +154,9 @@ int(0) > int(-9223372036854775808)
int(0) > string(20) "-9223372036854775808"
string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
string(6) "string" > string(0) ""
string(6) "string" <= int(1)
string(6) "string" <= float(2.5)
string(6) "string" <= int(0)
string(6) "string" > int(1)
string(6) "string" > float(2.5)
string(6) "string" > int(0)
string(6) "string" <= string(6) "string"
string(6) "string" > string(3) "123"
string(6) "string" > string(3) "2.5"
@ -347,7 +347,7 @@ array(0) {} <= array(0) {}
array(0) {} > int(-9223372036854775808)
array(0) {} > string(20) "-9223372036854775808"
int(-9223372036854775808) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
int(-9223372036854775808) <= string(0) ""
int(-9223372036854775808) > string(0) ""
int(-9223372036854775808) <= int(1)
int(-9223372036854775808) <= float(2.5)
int(-9223372036854775808) <= int(0)

View file

@ -0,0 +1,92 @@
--TEST--
String to number comparison
--FILE--
<?php
// This tests the examples from the RFC.
function format($val) {
if (is_float($val)) {
if (is_nan($val)) return "NAN";
if ($val == INF) return "INF";
if ($val == -INF) return "-INF";
}
return json_encode($val);
}
function compare_eq($val1, $val2) {
echo format($val1), " == ", format($val2), ": ", format($val1 == $val2), "\n";
}
function compare_3way($val1, $val2) {
echo format($val1), " <=> ", format($val2), ": ", format($val1 <=> $val2), "\n";
}
compare_eq(42, "000042");
compare_eq(42, "42.0");
compare_eq(42.0, "+42.0E0");
compare_eq(0, "0e214987142012");
echo "\n";
compare_eq("42", "000042");
compare_eq("42", "42.0");
compare_eq("42.0", "+42.0E0");
compare_eq("0", "0e214987142012");
echo "\n";
compare_eq(42, " 42");
compare_eq(42, "42 ");
compare_eq(42, "42abc");
compare_eq(42, "abc42");
compare_eq( 0, "abc42");
echo "\n";
compare_eq(INF, "INF");
compare_eq(-INF, "-INF");
compare_eq(NAN, "NAN");
compare_eq(INF, "1e1000");
compare_eq(-INF, "-1e1000");
echo "\n";
$float = 1.75;
echo "precision=14:\n";
ini_set('precision', 14);
compare_3way($float, "1.75abc");
compare_3way((string) $float, "1.75abc");
echo "precision=0:\n";
ini_set('precision', 0);
compare_3way($float, "1.75abc");
compare_3way((string) $float, "1.75abc");
?>
--EXPECT--
42 == "000042": true
42 == "42.0": true
42 == "+42.0E0": true
0 == "0e214987142012": true
"42" == "000042": true
"42" == "42.0": true
"42.0" == "+42.0E0": true
"0" == "0e214987142012": true
42 == " 42": true
42 == "42 ": false
42 == "42abc": false
42 == "abc42": false
0 == "abc42": false
INF == "INF": true
-INF == "-INF": true
NAN == "NAN": false
INF == "1e1000": true
-INF == "-1e1000": true
precision=14:
1.75 <=> "1.75abc": -1
"1.75" <=> "1.75abc": -1
precision=0:
1.75 <=> "1.75abc": 1
"2" <=> "1.75abc": 1

View file

@ -1991,6 +1991,55 @@ ZEND_API int ZEND_FASTCALL compare_function(zval *result, zval *op1, zval *op2)
}
/* }}} */
static int compare_long_to_string(zend_long lval, zend_string *str) /* {{{ */
{
zend_long str_lval;
double str_dval;
zend_uchar type = is_numeric_string(ZSTR_VAL(str), ZSTR_LEN(str), &str_lval, &str_dval, 0);
if (type == IS_LONG) {
return lval > str_lval ? 1 : lval < str_lval ? -1 : 0;
}
if (type == IS_DOUBLE) {
double diff = (double) lval - str_dval;
return ZEND_NORMALIZE_BOOL(diff);
}
zend_string *lval_as_str = zend_long_to_str(lval);
int cmp_result = zend_binary_strcmp(
ZSTR_VAL(lval_as_str), ZSTR_LEN(lval_as_str), ZSTR_VAL(str), ZSTR_LEN(str));
zend_string_release(lval_as_str);
return ZEND_NORMALIZE_BOOL(cmp_result);
}
/* }}} */
static int compare_double_to_string(double dval, zend_string *str) /* {{{ */
{
zend_long str_lval;
double str_dval;
zend_uchar type = is_numeric_string(ZSTR_VAL(str), ZSTR_LEN(str), &str_lval, &str_dval, 0);
if (type == IS_LONG) {
double diff = dval - (double) str_lval;
return ZEND_NORMALIZE_BOOL(diff);
}
if (type == IS_DOUBLE) {
if (dval == str_dval) {
return 0;
}
return ZEND_NORMALIZE_BOOL(dval - str_dval);
}
zend_string *dval_as_str = zend_strpprintf(0, "%.*G", (int) EG(precision), dval);
int cmp_result = zend_binary_strcmp(
ZSTR_VAL(dval_as_str), ZSTR_LEN(dval_as_str), ZSTR_VAL(str), ZSTR_LEN(str));
zend_string_release(dval_as_str);
return ZEND_NORMALIZE_BOOL(cmp_result);
}
/* }}} */
ZEND_API int ZEND_FASTCALL zend_compare(zval *op1, zval *op2) /* {{{ */
{
int converted = 0;
@ -2042,6 +2091,26 @@ ZEND_API int ZEND_FASTCALL zend_compare(zval *op1, zval *op2) /* {{{ */
case TYPE_PAIR(IS_STRING, IS_NULL):
return Z_STRLEN_P(op1) == 0 ? 0 : 1;
case TYPE_PAIR(IS_LONG, IS_STRING):
return compare_long_to_string(Z_LVAL_P(op1), Z_STR_P(op2));
case TYPE_PAIR(IS_STRING, IS_LONG):
return -compare_long_to_string(Z_LVAL_P(op2), Z_STR_P(op1));
case TYPE_PAIR(IS_DOUBLE, IS_STRING):
if (zend_isnan(Z_DVAL_P(op1))) {
return 1;
}
return compare_double_to_string(Z_DVAL_P(op1), Z_STR_P(op2));
case TYPE_PAIR(IS_STRING, IS_DOUBLE):
if (zend_isnan(Z_DVAL_P(op2))) {
return 1;
}
return -compare_double_to_string(Z_DVAL_P(op2), Z_STR_P(op1));
case TYPE_PAIR(IS_OBJECT, IS_NULL):
return 1;

View file

@ -7,8 +7,7 @@ Leon Luijkx <leon@phpgg.nl>
<?php
$obj = new ReflectionExtension('reflection');
$var = $obj->getVersion() ? $obj->getVersion() : null;
$test = floatval($var) == $var ? true : false;
var_dump($test);
var_dump($var);
?>
--EXPECT--
bool(true)
--EXPECTF--
string(9) "%d.%d.%s"

View file

@ -19,7 +19,7 @@ if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms
touch ('SplFileInfo_getInode_basic.txt');
$fileInfo = new SplFileInfo('SplFileInfo_getInode_basic.txt');
$result = shell_exec('ls -i SplFileInfo_getInode_basic.txt');
var_dump($fileInfo->getInode() == $result);
var_dump($fileInfo->getInode() == (int) $result);
?>
--CLEAN--

View file

@ -65,8 +65,6 @@ array(8) {
[1]=>
string(6) "orange"
}
["test"]=>
int(27)
[1000]=>
string(4) "test"
[1001]=>
@ -77,6 +75,8 @@ array(8) {
string(27) "PHP: Hypertext Preprocessor"
[0]=>
string(3) "PHP"
["test"]=>
int(27)
[16777216]=>
float(-0.3333333333333333)
}
@ -89,8 +89,6 @@ array(8) {
[1]=>
string(6) "orange"
}
["test"]=>
int(27)
[1000]=>
string(4) "test"
[1001]=>
@ -101,6 +99,8 @@ array(8) {
string(27) "PHP: Hypertext Preprocessor"
[0]=>
string(3) "PHP"
["test"]=>
int(27)
[16777216]=>
float(-0.3333333333333333)
}
@ -170,6 +170,8 @@ No second argument:
array(8) {
[16777216]=>
float(-0.3333333333333333)
["test"]=>
int(27)
[0]=>
string(3) "PHP"
[17]=>
@ -180,8 +182,6 @@ array(8) {
string(6) "monkey"
[1000]=>
string(4) "test"
["test"]=>
int(27)
[-1000]=>
array(2) {
[0]=>
@ -194,6 +194,8 @@ Using SORT_REGULAR:
array(8) {
[16777216]=>
float(-0.3333333333333333)
["test"]=>
int(27)
[0]=>
string(3) "PHP"
[17]=>
@ -204,8 +206,6 @@ array(8) {
string(6) "monkey"
[1000]=>
string(4) "test"
["test"]=>
int(27)
[-1000]=>
array(2) {
[0]=>
@ -480,17 +480,17 @@ array(8) {
string(6) "orange"
}
[1]=>
int(27)
[2]=>
string(4) "test"
[3]=>
[2]=>
string(6) "monkey"
[4]=>
[3]=>
string(4) "Test"
[5]=>
[4]=>
string(27) "PHP: Hypertext Preprocessor"
[6]=>
[5]=>
string(3) "PHP"
[6]=>
int(27)
[7]=>
float(-0.3333333333333333)
}
@ -504,17 +504,17 @@ array(8) {
string(6) "orange"
}
[1]=>
int(27)
[2]=>
string(4) "test"
[3]=>
[2]=>
string(6) "monkey"
[4]=>
[3]=>
string(4) "Test"
[5]=>
[4]=>
string(27) "PHP: Hypertext Preprocessor"
[6]=>
[5]=>
string(3) "PHP"
[6]=>
int(27)
[7]=>
float(-0.3333333333333333)
}
@ -585,17 +585,17 @@ array(8) {
[0]=>
float(-0.3333333333333333)
[1]=>
string(3) "PHP"
[2]=>
string(27) "PHP: Hypertext Preprocessor"
[3]=>
string(4) "Test"
[4]=>
string(6) "monkey"
[5]=>
string(4) "test"
[6]=>
int(27)
[2]=>
string(3) "PHP"
[3]=>
string(27) "PHP: Hypertext Preprocessor"
[4]=>
string(4) "Test"
[5]=>
string(6) "monkey"
[6]=>
string(4) "test"
[7]=>
array(2) {
[0]=>
@ -609,17 +609,17 @@ array(8) {
[0]=>
float(-0.3333333333333333)
[1]=>
string(3) "PHP"
[2]=>
string(27) "PHP: Hypertext Preprocessor"
[3]=>
string(4) "Test"
[4]=>
string(6) "monkey"
[5]=>
string(4) "test"
[6]=>
int(27)
[2]=>
string(3) "PHP"
[3]=>
string(27) "PHP: Hypertext Preprocessor"
[4]=>
string(4) "Test"
[5]=>
string(6) "monkey"
[6]=>
string(4) "test"
[7]=>
array(2) {
[0]=>

View file

@ -78,11 +78,15 @@ array(0) {
array(0) {
}
-- Callback function with parameter and return --
array(3) {
array(5) {
[2]=>
int(2)
[3]=>
float(0.0034)
[4]=>
string(5) "hello"
[5]=>
string(5) "value"
["key"]=>
int(4)
}

View file

@ -33,7 +33,7 @@ echo "Done"
?>
--EXPECT--
*** Testing array_filter() : usage variations - 'input' containing references ***
array(3) {
array(4) {
[0]=>
&array(3) {
[0]=>
@ -54,6 +54,8 @@ array(3) {
[2]=>
int(4)
}
[3]=>
string(5) "value"
}
array(4) {
[0]=>

View file

@ -27,13 +27,15 @@ echo "Done"
--EXPECT--
*** Testing array_filter() : usage variations - Anonymous callback functions ***
Anonymous callback function with regular parameter and statement
array(3) {
array(4) {
[3]=>
int(10)
[4]=>
int(100)
[5]=>
int(1000)
[6]=>
string(5) "Hello"
}
Anonymous callback function with null argument
array(8) {

View file

@ -54,15 +54,11 @@ array(1) {
int(1)
}
int(0)
array(4) {
array(2) {
[0]=>
int(0)
[1]=>
int(2)
[2]=>
string(3) "php"
[3]=>
string(0) ""
}
int(-1)
array(1) {

View file

@ -45,8 +45,8 @@ bool(true)
array(3) {
["row3"]=>
string(1) "1"
["row2"]=>
string(2) "aa"
["row1"]=>
int(2)
["row2"]=>
string(2) "aa"
}

View file

@ -23,9 +23,9 @@ array(3) {
[0]=>
string(1) "1"
[1]=>
string(2) "aa"
[2]=>
int(2)
[2]=>
string(2) "aa"
}
array(3) {
[0]=>

View file

@ -21,9 +21,9 @@ var_dump($ar);
*** Testing array_multisort() : Testing all array sort specifiers ***
array(3) {
[0]=>
int(2)
[1]=>
string(2) "aa"
[1]=>
int(2)
[2]=>
string(1) "1"
}

View file

@ -17,12 +17,12 @@ var_dump(array_search(-1,$a, true));
echo "Done\n";
?>
--EXPECT--
int(1)
bool(false)
bool(false)
int(1)
int(1)
int(2)
string(1) "c"
int(1)
string(1) "c"
bool(false)
Done

View file

@ -69,9 +69,9 @@ bool(false)
bool(false)
bool(false)
-- Iteration 4 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 5 --
bool(false)
bool(false)
@ -93,13 +93,13 @@ bool(false)
bool(false)
bool(false)
-- Iteration 10 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 11 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 12 --
bool(false)
bool(false)
@ -109,13 +109,13 @@ int(0)
bool(false)
int(0)
-- Iteration 14 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 15 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 16 --
int(0)
bool(false)
@ -125,9 +125,9 @@ int(0)
int(0)
int(0)
-- Iteration 18 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 19 --
int(4)
int(4)
@ -189,13 +189,13 @@ int(7)
int(7)
int(7)
-- Iteration 34 --
string(1) "a"
string(0) ""
bool(false)
string(1) "a"
string(0) ""
-- Iteration 35 --
string(1) "a"
string(0) ""
bool(false)
string(1) "a"
string(0) ""
-- Iteration 36 --
bool(false)
bool(false)
@ -333,13 +333,13 @@ bool(false)
bool(false)
bool(false)
-- Iteration 70 --
int(2)
bool(false)
int(2)
bool(false)
bool(false)
-- Iteration 71 --
int(2)
bool(false)
int(2)
bool(false)
bool(false)
-- Iteration 72 --
bool(false)
bool(false)
@ -477,13 +477,13 @@ bool(false)
bool(false)
bool(false)
-- Iteration 106 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 107 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 108 --
bool(false)
bool(false)
@ -549,13 +549,13 @@ bool(false)
bool(false)
bool(false)
-- Iteration 124 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 125 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 126 --
int(0)
int(0)
@ -621,13 +621,13 @@ bool(false)
bool(false)
bool(false)
-- Iteration 142 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 143 --
int(0)
bool(false)
int(0)
bool(false)
bool(false)
-- Iteration 144 --
bool(false)
bool(false)

View file

@ -58,9 +58,9 @@ int(3)
bool(false)
int(3)
-- Iteration 4 --
string(3) "key"
string(1) "y"
int(2)
string(3) "key"
string(1) "y"
-- Iteration 5 --
int(3)
bool(false)
@ -86,9 +86,9 @@ string(1) "y"
bool(false)
string(1) "y"
-- Iteration 11 --
int(2)
int(3)
bool(false)
int(2)
int(3)
-- Iteration 12 --
string(1) "y"
string(0) ""

View file

@ -55,14 +55,14 @@ int(0)
bool(false)
*** Testing miscelleneos inputs with array_search() ***
int(0)
bool(false)
int(0)
int(0)
bool(false)
bool(false)
bool(false)
bool(true)
int(0)
bool(false)
bool(false)
int(0)
bool(false)
bool(false)
bool(false)
Done

View file

@ -194,18 +194,18 @@ array(6) {
- With default sort_flag -
bool(true)
array(2) {
["foo"]=>
int(1)
["bar"]=>
string(3) "baz"
["foo"]=>
int(1)
}
- Sort_flag = SORT_REGULAR -
bool(true)
array(2) {
["foo"]=>
int(1)
["bar"]=>
string(3) "baz"
["foo"]=>
int(1)
}
-- Iteration 7 --

View file

@ -194,18 +194,18 @@ array(6) {
- With default sort_flag -
bool(true)
array(2) {
["bar"]=>
string(3) "baz"
["foo"]=>
int(1)
["bar"]=>
string(3) "baz"
}
- Sort_flag = SORT_REGULAR -
bool(true)
array(2) {
["bar"]=>
string(3) "baz"
["foo"]=>
int(1)
["bar"]=>
string(3) "baz"
}
-- Iteration 7 --

View file

@ -69,9 +69,9 @@ bool(false)
bool(false)
bool(false)
-- Iteration 4 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 5 --
bool(false)
bool(false)
@ -93,13 +93,13 @@ bool(false)
bool(false)
bool(false)
-- Iteration 10 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 11 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 12 --
bool(false)
bool(false)
@ -109,13 +109,13 @@ bool(true)
bool(false)
bool(true)
-- Iteration 14 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 15 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 16 --
bool(true)
bool(false)
@ -125,9 +125,9 @@ bool(true)
bool(true)
bool(true)
-- Iteration 18 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 19 --
bool(true)
bool(true)
@ -333,13 +333,13 @@ bool(false)
bool(false)
bool(false)
-- Iteration 70 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 71 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 72 --
bool(false)
bool(false)
@ -477,13 +477,13 @@ bool(false)
bool(false)
bool(false)
-- Iteration 106 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 107 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 108 --
bool(false)
bool(false)
@ -549,13 +549,13 @@ bool(false)
bool(false)
bool(false)
-- Iteration 124 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 125 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 126 --
bool(true)
bool(true)
@ -621,13 +621,13 @@ bool(false)
bool(false)
bool(false)
-- Iteration 142 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 143 --
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
-- Iteration 144 --
bool(false)
bool(false)

View file

@ -57,14 +57,14 @@ bool(true)
bool(false)
*** Testing miscelleneos inputs with in_array() ***
bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
Done

View file

@ -197,17 +197,17 @@ array(6) {
bool(true)
array(2) {
[0]=>
int(1)
[1]=>
string(3) "baz"
[1]=>
int(1)
}
-- Sort flag = SORT_REGULAR --
bool(true)
array(2) {
[0]=>
int(1)
[1]=>
string(3) "baz"
[1]=>
int(1)
}
-- Iteration 5 --

View file

@ -196,17 +196,17 @@ array(6) {
bool(true)
array(2) {
[0]=>
string(3) "baz"
[1]=>
int(1)
[1]=>
string(3) "baz"
}
- Sort flag = SORT_REGULAR -
bool(true)
array(2) {
[0]=>
string(3) "baz"
[1]=>
int(1)
[1]=>
string(3) "baz"
}
-- Iteration 5 --

View file

@ -45,6 +45,11 @@ array(8) {
[2]=>
array(0) {
}
[6]=>
array(1) {
[0]=>
string(0) ""
}
[4]=>
array(1) {
[0]=>
@ -55,11 +60,6 @@ array(8) {
[0]=>
int(0)
}
[6]=>
array(1) {
[0]=>
string(0) ""
}
[1]=>
array(1) {
[0]=>

View file

@ -61,17 +61,17 @@ array(8) {
[1]=>
array(1) {
[0]=>
int(-1)
string(0) ""
}
[2]=>
array(1) {
[0]=>
int(0)
int(-1)
}
[3]=>
array(1) {
[0]=>
string(0) ""
int(0)
}
[4]=>
array(1) {

View file

@ -8,17 +8,17 @@ $valid_false = array(0, "", 0.0, array(), NULL);
$int1 = 679;
$int2 = -67835;
$valid_int1 = array("679", "679abc", " 679", "679 ", 679.0, 6.79E2, "+679", +679);
$valid_int2 = array("-67835", "-67835abc", " -67835", "-67835 ", -67835.000, -6.7835E4);
$invalid_int1 = array("6 7 9", "6y79", 678);
$invalid_int2 = array("- 67835", "-67,835", "-67 835", "-678y35", -76834);
$valid_int1 = array("679", " 679", 679.0, 6.79E2, "+679", +679);
$valid_int2 = array("-67835", " -67835", -67835.000, -6.7835E4);
$invalid_int1 = array("679abc", "679 ", "6 7 9", "6y79", 678);
$invalid_int2 = array("-67835abc", "-67835 ", "- 67835", "-67,835", "-67 835", "-678y35", -76834);
$float1 = 57385.45835;
$float2 = -67345.76567;
$valid_float1 = array("57385.45835", "57385.45835aaa", " 57385.45835", 5.738545835e4);
$valid_float2 = array("-67345.76567", "-67345.76567aaa", " -67345.76567", -6.734576567E4);
$invalid_float1 = array("57385. 45835", "57,385.45835", 57385.45834, 5.738545834e4);
$invalid_float2 = array("- 67345.76567", "-67,345.76567", -67345.76566, -6.734576566E4);
$valid_float1 = array("57385.45835", " 57385.45835", 5.738545835e4);
$valid_float2 = array("-67345.76567", " -67345.76567", -6.734576567E4);
$invalid_float1 = array("57385.45835aaa", "57385. 45835", "57,385.45835", 57385.45834, 5.738545834e4);
$invalid_float2 = array("-67345.76567aaa", "- 67345.76567", "-67,345.76567", -67345.76566, -6.734576566E4);
$toCompare = array(

View file

@ -8,16 +8,16 @@ $valid_false = array(0, "", 0.0, array(), NULL);
$int1 = 679;
$int2 = -67835;
$valid_int1 = array("678", "678abc", " 678", "678 ", 678.0, 6.789E2, "+678", +678);
$valid_int2 = array("-67836", "-67836abc", " -67836", "-67836 ", -67835.0001, -6.78351E4);
$valid_int2 = array("-67836", " -67836", -67835.0001, -6.78351E4);
$invalid_int1 = array(679, "679");
$invalid_int2 = array(-67835, "-67835");
$invalid_int2 = array(-67835, "-67835", "-67836abc", "-67836 ");
$float1 = 57385.45835;
$float2 = -67345.76567;
$valid_float1 = array("57385.45834", "57385.45834aaa", " 57385.45834", 5.738545834e4);
$valid_float2 = array("-67345.76568", "-67345.76568aaa", " -67345.76568", -6.734576568E4);
$valid_float2 = array("-67345.76568", " -67345.76568", -6.734576568E4);
$invalid_float1 = array(57385.45835, 5.738545835e4);
$invalid_float2 = array(-67345.76567, -6.734576567E4);
$invalid_float2 = array(-67345.76567, -6.734576567E4, "-67345.76568aaa");
$toCompare = array(

View file

@ -7,17 +7,17 @@ $valid_false = array(0, "", 0.0, array(), NULL);
$int1 = 679;
$int2 = -67835;
$valid_int1 = array("679", "679abc", " 679", 679.0, 6.79E2, "678", "678abc", " 678", 678.0, 6.78E2, 6.789E2, "+678", +678);
$valid_int2 = array("-67835", "-67835abc", " -67835", -67835.000, -6.7835E4, "-67836", "-67836abc". " -67836", -67835.0001, -6.78351E4, "-67836", -67835.0001, -6.78351E4);
$invalid_int1 = array(680, "680");
$invalid_int2 = array(-67834, "-67834");
$valid_int1 = array("679", " 679", 679.0, 6.79E2, "678", "678abc", " 678", 678.0, 6.78E2, 6.789E2, "+678", +678);
$valid_int2 = array("-67835", " -67835", -67835.000, -6.7835E4, "-67836", -67835.0001, -6.78351E4, "-67836", -67835.0001, -6.78351E4);
$invalid_int1 = array(680, "680", "679abc");
$invalid_int2 = array(-67834, "-67834", "-67835abc", "-67836abc". " -67836");
$float1 = 57385.45835;
$float2 = -67345.76567;
$valid_float1 = array("57385.45835", "57385.45835aaa", " 57385.45835", 5.738545835e4, "57385.45834", "57385.45834aaa", " 57385.45834", 5.738545834e4);
$valid_float2 = array("-67345.76567", "-67345.76567aaa", " -67345.76567", -6.734576567E4, "-67345.76568", "-67345.76568aaa", " -67345.76568", -6.734576568E4);
$invalid_float1 = array(57385.45836, 5.738545836e4);
$invalid_float2 = array(-67345.76564, -6.734576564E4);
$valid_float1 = array("57385.45835", " 57385.45835", 5.738545835e4, "57385.45834", "57385.45834aaa", " 57385.45834", 5.738545834e4);
$valid_float2 = array("-67345.76567", " -67345.76567", -6.734576567E4, "-67345.76568", " -67345.76568", -6.734576568E4);
$invalid_float1 = array(57385.45836, 5.738545836e4, "57385.45835aaa");
$invalid_float2 = array(-67345.76564, -6.734576564E4, "-67345.76567aaa", "-67345.76568aaa");
$toCompare = array(

View file

@ -8,16 +8,16 @@ $valid_false = array(0, "", 0.0, array(), NULL);
$int1 = 677;
$int2 = -67837;
$valid_int1 = array("678", "678abc", " 678", "678 ", 678.0, 6.789E2, "+678", +678);
$valid_int2 = array("-67836", "-67836abc", " -67836", "-67836 ", -67835.0001, -6.78351E4);
$valid_int2 = array("-67836", " -67836", -67835.0001, -6.78351E4);
$invalid_int1 = array(676, "676");
$invalid_int2 = array(-67837, "-67837");
$invalid_int2 = array(-67837, "-67837", "-67836abc", "-67836 ");
$float1 = 57385.45835;
$float2 = -67345.76567;
$valid_float1 = array("57385.45836", "57385.45836aaa", " 57385.45836", 5.738545836e4);
$valid_float2 = array("-67345.76566", "-67345.76566aaa", " -67345.76566", -6.734576566E4);
$valid_float2 = array("-67345.76566", " -67345.76566", -6.734576566E4);
$invalid_float1 = array(57385.45835, 5.738545835e4);
$invalid_float2 = array(-67345.76567, -6.734576567E4);
$invalid_float2 = array(-67345.76567, -6.734576567E4, "-67345.76566aaa");
$toCompare = array(

View file

@ -8,16 +8,16 @@ $valid_false = array(0, "", 0.0, array(), NULL);
$int1 = 678;
$int2 = -67836;
$valid_int1 = array("679", "679abc", " 679", 679.0, 6.79E2, "678", "678abc", " 678", 678.0, 6.78E2, 6.789E2, "+678", +678);
$valid_int2 = array("-67835", "-67835abc", " -67835", -67835.000, -6.7835E4, "-67836", "-67836abc". " -67836", -67835.0001, -6.78351E4, "-67836", -67835.0001, -6.78351E4);
$valid_int2 = array("-67835", " -67835", -67835.000, -6.7835E4, "-67836", "-67836abc". " -67836", -67835.0001, -6.78351E4, "-67836", -67835.0001, -6.78351E4);
$invalid_int1 = array(677, "677");
$invalid_int2 = array(-67874, "-67837");
$invalid_int2 = array(-67874, "-67837", "-67835abc");
$float1 = 57385.45834;
$float2 = -67345.76568;
$valid_float1 = array("57385.45835", "57385.45835aaa", " 57385.45835", 5.738545835e4, "57385.45834", "57385.45834aaa", " 57385.45834", 5.738545834e4);
$valid_float2 = array("-67345.76567", "-67345.76567aaa", " -67345.76567", -6.734576567E4, "-67345.76568", "-67345.76568aaa", " -67345.76568", -6.734576568E4);
$valid_float2 = array("-67345.76567", " -67345.76567", -6.734576567E4, "-67345.76568", "-67345.76568aaa", " -67345.76568", -6.734576568E4);
$invalid_float1 = array(57385.45833, 5.738545833e4);
$invalid_float2 = array(-67345.76569, -6.734576569E4);
$invalid_float2 = array(-67345.76569, -6.734576569E4, "-67345.76567aaa");
$toCompare = array(
true, $valid_true, $valid_false,

View file

@ -8,17 +8,17 @@ $valid_false = array(0, "", 0.0, array(), NULL);
$int1 = 679;
$int2 = -67835;
$valid_int1 = array("6 7 9", "6y79", 678);
$valid_int2 = array("- 67835", "-67,835", "-67 835", "-678y35", -76834);
$invalid_int1 = array("679", "679abc", " 679", "679 ", 679.0, 6.79E2, "+679", +679);
$invalid_int2 = array("-67835", "-67835abc", " -67835", "-67835 ", -67835.000, -6.7835E4);
$valid_int1 = array("679abc", "679 ", "6 7 9", "6y79", 678);
$valid_int2 = array("-67835abc", "-67835 ", "- 67835", "-67,835", "-67 835", "-678y35", -76834);
$invalid_int1 = array("679", " 679", 679.0, 6.79E2, "+679", +679);
$invalid_int2 = array("-67835", " -67835", -67835.000, -6.7835E4);
$float1 = 57385.45835;
$float2 = -67345.76567;
$valid_float1 = array("57385. 45835", "57,385.45835", 57385.45834, 5.738545834e4);
$valid_float2 = array("- 67345.76567", "-67,345.76567", -67345.76566, -6.734576566E4);
$invalid_float1 = array("57385.45835", "57385.45835aaa", " 57385.45835", 5.738545835e4);
$invalid_float2 = array("-67345.76567", "-67345.76567aaa", " -67345.76567", -6.734576567E4);
$valid_float1 = array("57385.45835aaa", "57385. 45835", "57,385.45835", 57385.45834, 5.738545834e4);
$valid_float2 = array("-67345.76567aaa", "- 67345.76567", "-67,345.76567", -67345.76566, -6.734576566E4);
$invalid_float1 = array("57385.45835", " 57385.45835", 5.738545835e4);
$invalid_float2 = array("-67345.76567", " -67345.76567", -6.734576567E4);
$toCompare = array(

View file

@ -8,16 +8,16 @@ $valid_false = array(0, "", 0.0, array(), NULL);
$int1 = 679;
$int2 = -67835;
$valid_int1 = array("678", "678abc", " 678", "678 ", 678.0, 6.789E2, "+678", +678);
$valid_int2 = array("-67836", "-67836abc", " -67836", "-67836 ", -67835.0001, -6.78351E4);
$valid_int2 = array("-67836", " -67836", -67835.0001, -6.78351E4);
$invalid_int1 = array(679, "679");
$invalid_int2 = array(-67835, "-67835");
$invalid_int2 = array(-67835, "-67835", "-67836abc", "-67836 ");
$float1 = 57385.45835;
$float2 = -67345.76567;
$valid_float1 = array("57385.45834", "57385.45834aaa", " 57385.45834", 5.738545834e4);
$valid_float2 = array("-67345.76568", "-67345.76568aaa", " -67345.76568", -6.734576568E4);
$valid_float2 = array("-67345.76568", " -67345.76568", -6.734576568E4);
$invalid_float1 = array(57385.45835, 5.738545835e4);
$invalid_float2 = array(-67345.76567, -6.734576567E4);
$invalid_float2 = array(-67345.76567, -6.734576567E4, "-67345.76568aaa");
$toCompare = array(

View file

@ -24,7 +24,7 @@ bool(false)
--> Testing .9.:
int(0)
float(0.9)
bool(true)
bool(false)
--> Testing 9..:
int(9)