summaryrefslogtreecommitdiff
path: root/Zend/tests
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2007-05-04 12:45:30 +0000
committerAntony Dovgal <tony2001@php.net>2007-05-04 12:45:30 +0000
commite8a95a2f7ef1b078d2836036a44289877dd2edf4 (patch)
tree77f468d85a1818d3586fe98ec56b323cc5c1ed57 /Zend/tests
parentfe6fd4ed38769515532c66e740bcdead054d3fb7 (diff)
downloadphp-git-e8a95a2f7ef1b078d2836036a44289877dd2edf4.tar.gz
new tests
Diffstat (limited to 'Zend/tests')
-rw-r--r--Zend/tests/cast_to_string.phptbin980 -> 1085 bytes
-rw-r--r--Zend/tests/compare_001.phpt726
-rw-r--r--Zend/tests/compare_002.phpt630
-rw-r--r--Zend/tests/compare_003.phpt726
-rw-r--r--Zend/tests/compare_004.phpt726
-rw-r--r--Zend/tests/compare_005.phpt726
-rw-r--r--Zend/tests/compare_006.phpt726
-rw-r--r--Zend/tests/decrement_001.phpt56
-rw-r--r--Zend/tests/increment_001.phpt58
9 files changed, 4374 insertions, 0 deletions
diff --git a/Zend/tests/cast_to_string.phpt b/Zend/tests/cast_to_string.phpt
index 4d2ccb872b..bcbc402958 100644
--- a/Zend/tests/cast_to_string.phpt
+++ b/Zend/tests/cast_to_string.phpt
Binary files differ
diff --git a/Zend/tests/compare_001.phpt b/Zend/tests/compare_001.phpt
new file mode 100644
index 0000000000..1ab64f0a10
--- /dev/null
+++ b/Zend/tests/compare_001.phpt
@@ -0,0 +1,726 @@
+--TEST--
+comparing different variables for equality
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var == $a[$i]) ? " == " : " != ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(11) "-2147483648"
+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) "" != string(6) "string"
+string(0) "" != string(3) "123"
+string(0) "" != string(3) "2.5"
+string(0) "" == NULL
+string(0) "" != bool(true)
+string(0) "" == bool(false)
+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) "" != 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(3) "123"
+int(1) != string(3) "2.5"
+int(1) != NULL
+int(1) == bool(true)
+int(1) != bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ == object(test)#3 (0) {}
+int(1) != array(0) {}
+int(1) != int(-2147483648)
+int(1) != string(11) "-2147483648"
+float(2.5) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+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(3) "123"
+float(2.5) == string(3) "2.5"
+float(2.5) != NULL
+float(2.5) == bool(true)
+float(2.5) != bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ != object(test)#3 (0) {}
+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) != int(1)
+int(0) != float(2.5)
+int(0) == int(0)
+int(0) == string(6) "string"
+int(0) != string(3) "123"
+int(0) != string(3) "2.5"
+int(0) == NULL
+int(0) != bool(true)
+int(0) == bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ != object(test)#3 (0) {}
+int(0) != array(0) {}
+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" == string(6) "string"
+string(6) "string" != string(3) "123"
+string(6) "string" != string(3) "2.5"
+string(6) "string" != NULL
+string(6) "string" == bool(true)
+string(6) "string" != bool(false)
+string(6) "string" != object(stdClass)#1 (0) {}
+string(6) "string" != object(stdClass)#2 (0) {}
+string(6) "string" != object(test)#3 (0) {}
+string(6) "string" != array(0) {}
+string(6) "string" != int(-2147483648)
+string(6) "string" != string(11) "-2147483648"
+string(3) "123" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" != string(0) ""
+string(3) "123" != int(1)
+string(3) "123" != float(2.5)
+string(3) "123" != int(0)
+string(3) "123" != string(6) "string"
+string(3) "123" == string(3) "123"
+string(3) "123" != string(3) "2.5"
+string(3) "123" != NULL
+string(3) "123" == bool(true)
+string(3) "123" != bool(false)
+string(3) "123" != object(stdClass)#1 (0) {}
+string(3) "123" != object(stdClass)#2 (0) {}
+string(3) "123" != object(test)#3 (0) {}
+string(3) "123" != array(0) {}
+string(3) "123" != int(-2147483648)
+string(3) "123" != string(11) "-2147483648"
+string(3) "2.5" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" != string(0) ""
+string(3) "2.5" != int(1)
+string(3) "2.5" == float(2.5)
+string(3) "2.5" != int(0)
+string(3) "2.5" != string(6) "string"
+string(3) "2.5" != string(3) "123"
+string(3) "2.5" == string(3) "2.5"
+string(3) "2.5" != NULL
+string(3) "2.5" == bool(true)
+string(3) "2.5" != bool(false)
+string(3) "2.5" != object(stdClass)#1 (0) {}
+string(3) "2.5" != object(stdClass)#2 (0) {}
+string(3) "2.5" != object(test)#3 (0) {}
+string(3) "2.5" != array(0) {}
+string(3) "2.5" != int(-2147483648)
+string(3) "2.5" != string(11) "-2147483648"
+NULL != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL == string(0) ""
+NULL != int(1)
+NULL != float(2.5)
+NULL == int(0)
+NULL != string(6) "string"
+NULL != string(3) "123"
+NULL != string(3) "2.5"
+NULL == NULL
+NULL != bool(true)
+NULL == bool(false)
+NULL != object(stdClass)#1 (0) {}
+NULL != object(stdClass)#2 (0) {}
+NULL != object(test)#3 (0) {}
+NULL == array(0) {}
+NULL != int(-2147483648)
+NULL != string(11) "-2147483648"
+bool(true) == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) != string(0) ""
+bool(true) == int(1)
+bool(true) == float(2.5)
+bool(true) != int(0)
+bool(true) == string(6) "string"
+bool(true) == string(3) "123"
+bool(true) == string(3) "2.5"
+bool(true) != NULL
+bool(true) == bool(true)
+bool(true) != bool(false)
+bool(true) == object(stdClass)#1 (0) {}
+bool(true) == object(stdClass)#2 (0) {}
+bool(true) == object(test)#3 (0) {}
+bool(true) != array(0) {}
+bool(true) == int(-2147483648)
+bool(true) == string(11) "-2147483648"
+bool(false) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) == string(0) ""
+bool(false) != int(1)
+bool(false) != float(2.5)
+bool(false) == int(0)
+bool(false) != string(6) "string"
+bool(false) != string(3) "123"
+bool(false) != string(3) "2.5"
+bool(false) == NULL
+bool(false) != bool(true)
+bool(false) == bool(false)
+bool(false) != object(stdClass)#1 (0) {}
+bool(false) != object(stdClass)#2 (0) {}
+bool(false) != object(test)#3 (0) {}
+bool(false) == array(0) {}
+bool(false) != int(-2147483648)
+bool(false) != string(11) "-2147483648"
+object(stdClass)#1 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} != string(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(0)
+object(stdClass)#1 (0) {} != string(6) "string"
+object(stdClass)#1 (0) {} != string(3) "123"
+object(stdClass)#1 (0) {} != string(3) "2.5"
+object(stdClass)#1 (0) {} != NULL
+object(stdClass)#1 (0) {} == bool(true)
+object(stdClass)#1 (0) {} != bool(false)
+object(stdClass)#1 (0) {} == object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} == object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} != object(test)#3 (0) {}
+object(stdClass)#1 (0) {} != array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(-2147483648)
+object(stdClass)#1 (0) {} != string(11) "-2147483648"
+object(stdClass)#2 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} != string(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(0)
+object(stdClass)#2 (0) {} != string(6) "string"
+object(stdClass)#2 (0) {} != string(3) "123"
+object(stdClass)#2 (0) {} != string(3) "2.5"
+object(stdClass)#2 (0) {} != NULL
+object(stdClass)#2 (0) {} == bool(true)
+object(stdClass)#2 (0) {} != bool(false)
+object(stdClass)#2 (0) {} == object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} == object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} != object(test)#3 (0) {}
+object(stdClass)#2 (0) {} != array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(-2147483648)
+object(stdClass)#2 (0) {} != string(11) "-2147483648"
+object(test)#3 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} != string(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ == int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ != float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ != int(0)
+object(test)#3 (0) {} != string(6) "string"
+object(test)#3 (0) {} != string(3) "123"
+object(test)#3 (0) {} != string(3) "2.5"
+object(test)#3 (0) {} != NULL
+object(test)#3 (0) {} == bool(true)
+object(test)#3 (0) {} != bool(false)
+object(test)#3 (0) {} != object(stdClass)#1 (0) {}
+object(test)#3 (0) {} != object(stdClass)#2 (0) {}
+object(test)#3 (0) {} == object(test)#3 (0) {}
+object(test)#3 (0) {} != array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ != int(-2147483648)
+object(test)#3 (0) {} != string(11) "-2147483648"
+array(0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} != string(0) ""
+array(0) {} != int(1)
+array(0) {} != float(2.5)
+array(0) {} != int(0)
+array(0) {} != string(6) "string"
+array(0) {} != string(3) "123"
+array(0) {} != string(3) "2.5"
+array(0) {} == NULL
+array(0) {} != bool(true)
+array(0) {} == bool(false)
+array(0) {} != object(stdClass)#1 (0) {}
+array(0) {} != object(stdClass)#2 (0) {}
+array(0) {} != object(test)#3 (0) {}
+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) != int(1)
+int(-2147483648) != float(2.5)
+int(-2147483648) != int(0)
+int(-2147483648) != string(6) "string"
+int(-2147483648) != string(3) "123"
+int(-2147483648) != string(3) "2.5"
+int(-2147483648) != NULL
+int(-2147483648) == bool(true)
+int(-2147483648) != bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ != object(test)#3 (0) {}
+int(-2147483648) != array(0) {}
+int(-2147483648) == int(-2147483648)
+int(-2147483648) == string(11) "-2147483648"
+string(11) "-2147483648" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" != string(0) ""
+string(11) "-2147483648" != int(1)
+string(11) "-2147483648" != float(2.5)
+string(11) "-2147483648" != int(0)
+string(11) "-2147483648" != string(6) "string"
+string(11) "-2147483648" != string(3) "123"
+string(11) "-2147483648" != string(3) "2.5"
+string(11) "-2147483648" != NULL
+string(11) "-2147483648" == bool(true)
+string(11) "-2147483648" != bool(false)
+string(11) "-2147483648" != object(stdClass)#1 (0) {}
+string(11) "-2147483648" != object(stdClass)#2 (0) {}
+string(11) "-2147483648" != object(test)#3 (0) {}
+string(11) "-2147483648" != array(0) {}
+string(11) "-2147483648" == int(-2147483648)
+string(11) "-2147483648" == string(11) "-2147483648"
+Done
+--UEXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != unicode(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != unicode(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != unicode(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != unicode(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != unicode(11) "-2147483648"
+unicode(0) "" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(0) "" == unicode(0) ""
+unicode(0) "" != int(1)
+unicode(0) "" != float(2.5)
+unicode(0) "" == int(0)
+unicode(0) "" != unicode(6) "string"
+unicode(0) "" != unicode(3) "123"
+unicode(0) "" != unicode(3) "2.5"
+unicode(0) "" == NULL
+unicode(0) "" != bool(true)
+unicode(0) "" == bool(false)
+unicode(0) "" != object(stdClass)#1 (0) {}
+unicode(0) "" != object(stdClass)#2 (0) {}
+unicode(0) "" != object(test)#3 (0) {}
+unicode(0) "" != array(0) {}
+unicode(0) "" != int(-2147483648)
+unicode(0) "" != unicode(11) "-2147483648"
+int(1) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) != unicode(0) ""
+int(1) == int(1)
+int(1) != float(2.5)
+int(1) != int(0)
+int(1) != unicode(6) "string"
+int(1) != unicode(3) "123"
+int(1) != unicode(3) "2.5"
+int(1) != NULL
+int(1) == bool(true)
+int(1) != bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ == object(test)#3 (0) {}
+int(1) != array(0) {}
+int(1) != int(-2147483648)
+int(1) != unicode(11) "-2147483648"
+float(2.5) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) != unicode(0) ""
+float(2.5) != int(1)
+float(2.5) == float(2.5)
+float(2.5) != int(0)
+float(2.5) != unicode(6) "string"
+float(2.5) != unicode(3) "123"
+float(2.5) == unicode(3) "2.5"
+float(2.5) != NULL
+float(2.5) == bool(true)
+float(2.5) != bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ != object(test)#3 (0) {}
+float(2.5) != array(0) {}
+float(2.5) != int(-2147483648)
+float(2.5) != unicode(11) "-2147483648"
+int(0) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) == unicode(0) ""
+int(0) != int(1)
+int(0) != float(2.5)
+int(0) == int(0)
+int(0) == unicode(6) "string"
+int(0) != unicode(3) "123"
+int(0) != unicode(3) "2.5"
+int(0) == NULL
+int(0) != bool(true)
+int(0) == bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ != object(test)#3 (0) {}
+int(0) != array(0) {}
+int(0) != int(-2147483648)
+int(0) != unicode(11) "-2147483648"
+unicode(6) "string" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(6) "string" != unicode(0) ""
+unicode(6) "string" != int(1)
+unicode(6) "string" != float(2.5)
+unicode(6) "string" == int(0)
+unicode(6) "string" == unicode(6) "string"
+unicode(6) "string" != unicode(3) "123"
+unicode(6) "string" != unicode(3) "2.5"
+unicode(6) "string" != NULL
+unicode(6) "string" == bool(true)
+unicode(6) "string" != bool(false)
+unicode(6) "string" != object(stdClass)#1 (0) {}
+unicode(6) "string" != object(stdClass)#2 (0) {}
+unicode(6) "string" != object(test)#3 (0) {}
+unicode(6) "string" != array(0) {}
+unicode(6) "string" != int(-2147483648)
+unicode(6) "string" != unicode(11) "-2147483648"
+unicode(3) "123" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "123" != unicode(0) ""
+unicode(3) "123" != int(1)
+unicode(3) "123" != float(2.5)
+unicode(3) "123" != int(0)
+unicode(3) "123" != unicode(6) "string"
+unicode(3) "123" == unicode(3) "123"
+unicode(3) "123" != unicode(3) "2.5"
+unicode(3) "123" != NULL
+unicode(3) "123" == bool(true)
+unicode(3) "123" != bool(false)
+unicode(3) "123" != object(stdClass)#1 (0) {}
+unicode(3) "123" != object(stdClass)#2 (0) {}
+unicode(3) "123" != object(test)#3 (0) {}
+unicode(3) "123" != array(0) {}
+unicode(3) "123" != int(-2147483648)
+unicode(3) "123" != unicode(11) "-2147483648"
+unicode(3) "2.5" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "2.5" != unicode(0) ""
+unicode(3) "2.5" != int(1)
+unicode(3) "2.5" == float(2.5)
+unicode(3) "2.5" != int(0)
+unicode(3) "2.5" != unicode(6) "string"
+unicode(3) "2.5" != unicode(3) "123"
+unicode(3) "2.5" == unicode(3) "2.5"
+unicode(3) "2.5" != NULL
+unicode(3) "2.5" == bool(true)
+unicode(3) "2.5" != bool(false)
+unicode(3) "2.5" != object(stdClass)#1 (0) {}
+unicode(3) "2.5" != object(stdClass)#2 (0) {}
+unicode(3) "2.5" != object(test)#3 (0) {}
+unicode(3) "2.5" != array(0) {}
+unicode(3) "2.5" != int(-2147483648)
+unicode(3) "2.5" != unicode(11) "-2147483648"
+NULL != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL == unicode(0) ""
+NULL != int(1)
+NULL != float(2.5)
+NULL == int(0)
+NULL != unicode(6) "string"
+NULL != unicode(3) "123"
+NULL != unicode(3) "2.5"
+NULL == NULL
+NULL != bool(true)
+NULL == bool(false)
+NULL != object(stdClass)#1 (0) {}
+NULL != object(stdClass)#2 (0) {}
+NULL != object(test)#3 (0) {}
+NULL == array(0) {}
+NULL != int(-2147483648)
+NULL != unicode(11) "-2147483648"
+bool(true) == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) != unicode(0) ""
+bool(true) == int(1)
+bool(true) == float(2.5)
+bool(true) != int(0)
+bool(true) == unicode(6) "string"
+bool(true) == unicode(3) "123"
+bool(true) == unicode(3) "2.5"
+bool(true) != NULL
+bool(true) == bool(true)
+bool(true) != bool(false)
+bool(true) == object(stdClass)#1 (0) {}
+bool(true) == object(stdClass)#2 (0) {}
+bool(true) == object(test)#3 (0) {}
+bool(true) != array(0) {}
+bool(true) == int(-2147483648)
+bool(true) == unicode(11) "-2147483648"
+bool(false) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) == unicode(0) ""
+bool(false) != int(1)
+bool(false) != float(2.5)
+bool(false) == int(0)
+bool(false) != unicode(6) "string"
+bool(false) != unicode(3) "123"
+bool(false) != unicode(3) "2.5"
+bool(false) == NULL
+bool(false) != bool(true)
+bool(false) == bool(false)
+bool(false) != object(stdClass)#1 (0) {}
+bool(false) != object(stdClass)#2 (0) {}
+bool(false) != object(test)#3 (0) {}
+bool(false) == array(0) {}
+bool(false) != int(-2147483648)
+bool(false) != unicode(11) "-2147483648"
+object(stdClass)#1 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} != unicode(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(0)
+object(stdClass)#1 (0) {} != unicode(6) "string"
+object(stdClass)#1 (0) {} != unicode(3) "123"
+object(stdClass)#1 (0) {} != unicode(3) "2.5"
+object(stdClass)#1 (0) {} != NULL
+object(stdClass)#1 (0) {} == bool(true)
+object(stdClass)#1 (0) {} != bool(false)
+object(stdClass)#1 (0) {} == object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} == object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} != object(test)#3 (0) {}
+object(stdClass)#1 (0) {} != array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(-2147483648)
+object(stdClass)#1 (0) {} != unicode(11) "-2147483648"
+object(stdClass)#2 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} != unicode(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(0)
+object(stdClass)#2 (0) {} != unicode(6) "string"
+object(stdClass)#2 (0) {} != unicode(3) "123"
+object(stdClass)#2 (0) {} != unicode(3) "2.5"
+object(stdClass)#2 (0) {} != NULL
+object(stdClass)#2 (0) {} == bool(true)
+object(stdClass)#2 (0) {} != bool(false)
+object(stdClass)#2 (0) {} == object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} == object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} != object(test)#3 (0) {}
+object(stdClass)#2 (0) {} != array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(-2147483648)
+object(stdClass)#2 (0) {} != unicode(11) "-2147483648"
+object(test)#3 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} != unicode(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ == int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ != float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ != int(0)
+object(test)#3 (0) {} != unicode(6) "string"
+object(test)#3 (0) {} != unicode(3) "123"
+object(test)#3 (0) {} != unicode(3) "2.5"
+object(test)#3 (0) {} != NULL
+object(test)#3 (0) {} == bool(true)
+object(test)#3 (0) {} != bool(false)
+object(test)#3 (0) {} != object(stdClass)#1 (0) {}
+object(test)#3 (0) {} != object(stdClass)#2 (0) {}
+object(test)#3 (0) {} == object(test)#3 (0) {}
+object(test)#3 (0) {} != array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ != int(-2147483648)
+object(test)#3 (0) {} != unicode(11) "-2147483648"
+array(0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} != unicode(0) ""
+array(0) {} != int(1)
+array(0) {} != float(2.5)
+array(0) {} != int(0)
+array(0) {} != unicode(6) "string"
+array(0) {} != unicode(3) "123"
+array(0) {} != unicode(3) "2.5"
+array(0) {} == NULL
+array(0) {} != bool(true)
+array(0) {} == bool(false)
+array(0) {} != object(stdClass)#1 (0) {}
+array(0) {} != object(stdClass)#2 (0) {}
+array(0) {} != object(test)#3 (0) {}
+array(0) {} == array(0) {}
+array(0) {} != int(-2147483648)
+array(0) {} != unicode(11) "-2147483648"
+int(-2147483648) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) != unicode(0) ""
+int(-2147483648) != int(1)
+int(-2147483648) != float(2.5)
+int(-2147483648) != int(0)
+int(-2147483648) != unicode(6) "string"
+int(-2147483648) != unicode(3) "123"
+int(-2147483648) != unicode(3) "2.5"
+int(-2147483648) != NULL
+int(-2147483648) == bool(true)
+int(-2147483648) != bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ != object(test)#3 (0) {}
+int(-2147483648) != array(0) {}
+int(-2147483648) == int(-2147483648)
+int(-2147483648) == unicode(11) "-2147483648"
+unicode(11) "-2147483648" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(11) "-2147483648" != unicode(0) ""
+unicode(11) "-2147483648" != int(1)
+unicode(11) "-2147483648" != float(2.5)
+unicode(11) "-2147483648" != int(0)
+unicode(11) "-2147483648" != unicode(6) "string"
+unicode(11) "-2147483648" != unicode(3) "123"
+unicode(11) "-2147483648" != unicode(3) "2.5"
+unicode(11) "-2147483648" != NULL
+unicode(11) "-2147483648" == bool(true)
+unicode(11) "-2147483648" != bool(false)
+unicode(11) "-2147483648" != object(stdClass)#1 (0) {}
+unicode(11) "-2147483648" != object(stdClass)#2 (0) {}
+unicode(11) "-2147483648" != object(test)#3 (0) {}
+unicode(11) "-2147483648" != array(0) {}
+unicode(11) "-2147483648" == int(-2147483648)
+unicode(11) "-2147483648" == unicode(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_002.phpt b/Zend/tests/compare_002.phpt
new file mode 100644
index 0000000000..de7e06a2e7
--- /dev/null
+++ b/Zend/tests/compare_002.phpt
@@ -0,0 +1,630 @@
+--TEST--
+comparing different variables for identity
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var === $a[$i]) ? " === " : " !== ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} === array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(11) "-2147483648"
+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) "" !== string(6) "string"
+string(0) "" !== string(3) "123"
+string(0) "" !== string(3) "2.5"
+string(0) "" !== NULL
+string(0) "" !== bool(true)
+string(0) "" !== bool(false)
+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) "" !== 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(3) "123"
+int(1) !== string(3) "2.5"
+int(1) !== NULL
+int(1) !== bool(true)
+int(1) !== bool(false)
+int(1) !== object(stdClass)#1 (0) {}
+int(1) !== object(stdClass)#2 (0) {}
+int(1) !== object(test)#3 (0) {}
+int(1) !== array(0) {}
+int(1) !== int(-2147483648)
+int(1) !== string(11) "-2147483648"
+float(2.5) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+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(3) "123"
+float(2.5) !== string(3) "2.5"
+float(2.5) !== NULL
+float(2.5) !== bool(true)
+float(2.5) !== bool(false)
+float(2.5) !== object(stdClass)#1 (0) {}
+float(2.5) !== object(stdClass)#2 (0) {}
+float(2.5) !== object(test)#3 (0) {}
+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) !== int(1)
+int(0) !== float(2.5)
+int(0) === int(0)
+int(0) !== string(6) "string"
+int(0) !== string(3) "123"
+int(0) !== string(3) "2.5"
+int(0) !== NULL
+int(0) !== bool(true)
+int(0) !== bool(false)
+int(0) !== object(stdClass)#1 (0) {}
+int(0) !== object(stdClass)#2 (0) {}
+int(0) !== object(test)#3 (0) {}
+int(0) !== array(0) {}
+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" === string(6) "string"
+string(6) "string" !== string(3) "123"
+string(6) "string" !== string(3) "2.5"
+string(6) "string" !== NULL
+string(6) "string" !== bool(true)
+string(6) "string" !== bool(false)
+string(6) "string" !== object(stdClass)#1 (0) {}
+string(6) "string" !== object(stdClass)#2 (0) {}
+string(6) "string" !== object(test)#3 (0) {}
+string(6) "string" !== array(0) {}
+string(6) "string" !== int(-2147483648)
+string(6) "string" !== string(11) "-2147483648"
+string(3) "123" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" !== string(0) ""
+string(3) "123" !== int(1)
+string(3) "123" !== float(2.5)
+string(3) "123" !== int(0)
+string(3) "123" !== string(6) "string"
+string(3) "123" === string(3) "123"
+string(3) "123" !== string(3) "2.5"
+string(3) "123" !== NULL
+string(3) "123" !== bool(true)
+string(3) "123" !== bool(false)
+string(3) "123" !== object(stdClass)#1 (0) {}
+string(3) "123" !== object(stdClass)#2 (0) {}
+string(3) "123" !== object(test)#3 (0) {}
+string(3) "123" !== array(0) {}
+string(3) "123" !== int(-2147483648)
+string(3) "123" !== string(11) "-2147483648"
+string(3) "2.5" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" !== string(0) ""
+string(3) "2.5" !== int(1)
+string(3) "2.5" !== float(2.5)
+string(3) "2.5" !== int(0)
+string(3) "2.5" !== string(6) "string"
+string(3) "2.5" !== string(3) "123"
+string(3) "2.5" === string(3) "2.5"
+string(3) "2.5" !== NULL
+string(3) "2.5" !== bool(true)
+string(3) "2.5" !== bool(false)
+string(3) "2.5" !== object(stdClass)#1 (0) {}
+string(3) "2.5" !== object(stdClass)#2 (0) {}
+string(3) "2.5" !== object(test)#3 (0) {}
+string(3) "2.5" !== array(0) {}
+string(3) "2.5" !== int(-2147483648)
+string(3) "2.5" !== string(11) "-2147483648"
+NULL !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL !== string(0) ""
+NULL !== int(1)
+NULL !== float(2.5)
+NULL !== int(0)
+NULL !== string(6) "string"
+NULL !== string(3) "123"
+NULL !== string(3) "2.5"
+NULL === NULL
+NULL !== bool(true)
+NULL !== bool(false)
+NULL !== object(stdClass)#1 (0) {}
+NULL !== object(stdClass)#2 (0) {}
+NULL !== object(test)#3 (0) {}
+NULL !== array(0) {}
+NULL !== int(-2147483648)
+NULL !== string(11) "-2147483648"
+bool(true) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) !== string(0) ""
+bool(true) !== int(1)
+bool(true) !== float(2.5)
+bool(true) !== int(0)
+bool(true) !== string(6) "string"
+bool(true) !== string(3) "123"
+bool(true) !== string(3) "2.5"
+bool(true) !== NULL
+bool(true) === bool(true)
+bool(true) !== bool(false)
+bool(true) !== object(stdClass)#1 (0) {}
+bool(true) !== object(stdClass)#2 (0) {}
+bool(true) !== object(test)#3 (0) {}
+bool(true) !== array(0) {}
+bool(true) !== int(-2147483648)
+bool(true) !== string(11) "-2147483648"
+bool(false) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) !== string(0) ""
+bool(false) !== int(1)
+bool(false) !== float(2.5)
+bool(false) !== int(0)
+bool(false) !== string(6) "string"
+bool(false) !== string(3) "123"
+bool(false) !== string(3) "2.5"
+bool(false) !== NULL
+bool(false) !== bool(true)
+bool(false) === bool(false)
+bool(false) !== object(stdClass)#1 (0) {}
+bool(false) !== object(stdClass)#2 (0) {}
+bool(false) !== object(test)#3 (0) {}
+bool(false) !== array(0) {}
+bool(false) !== int(-2147483648)
+bool(false) !== string(11) "-2147483648"
+object(stdClass)#1 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} !== string(0) ""
+object(stdClass)#1 (0) {} !== int(1)
+object(stdClass)#1 (0) {} !== float(2.5)
+object(stdClass)#1 (0) {} !== int(0)
+object(stdClass)#1 (0) {} !== string(6) "string"
+object(stdClass)#1 (0) {} !== string(3) "123"
+object(stdClass)#1 (0) {} !== string(3) "2.5"
+object(stdClass)#1 (0) {} !== NULL
+object(stdClass)#1 (0) {} !== bool(true)
+object(stdClass)#1 (0) {} !== bool(false)
+object(stdClass)#1 (0) {} === object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} !== object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} !== object(test)#3 (0) {}
+object(stdClass)#1 (0) {} !== array(0) {}
+object(stdClass)#1 (0) {} !== int(-2147483648)
+object(stdClass)#1 (0) {} !== string(11) "-2147483648"
+object(stdClass)#2 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} !== string(0) ""
+object(stdClass)#2 (0) {} !== int(1)
+object(stdClass)#2 (0) {} !== float(2.5)
+object(stdClass)#2 (0) {} !== int(0)
+object(stdClass)#2 (0) {} !== string(6) "string"
+object(stdClass)#2 (0) {} !== string(3) "123"
+object(stdClass)#2 (0) {} !== string(3) "2.5"
+object(stdClass)#2 (0) {} !== NULL
+object(stdClass)#2 (0) {} !== bool(true)
+object(stdClass)#2 (0) {} !== bool(false)
+object(stdClass)#2 (0) {} !== object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} === object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} !== object(test)#3 (0) {}
+object(stdClass)#2 (0) {} !== array(0) {}
+object(stdClass)#2 (0) {} !== int(-2147483648)
+object(stdClass)#2 (0) {} !== string(11) "-2147483648"
+object(test)#3 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} !== string(0) ""
+object(test)#3 (0) {} !== int(1)
+object(test)#3 (0) {} !== float(2.5)
+object(test)#3 (0) {} !== int(0)
+object(test)#3 (0) {} !== string(6) "string"
+object(test)#3 (0) {} !== string(3) "123"
+object(test)#3 (0) {} !== string(3) "2.5"
+object(test)#3 (0) {} !== NULL
+object(test)#3 (0) {} !== bool(true)
+object(test)#3 (0) {} !== bool(false)
+object(test)#3 (0) {} !== object(stdClass)#1 (0) {}
+object(test)#3 (0) {} !== object(stdClass)#2 (0) {}
+object(test)#3 (0) {} === object(test)#3 (0) {}
+object(test)#3 (0) {} !== array(0) {}
+object(test)#3 (0) {} !== int(-2147483648)
+object(test)#3 (0) {} !== string(11) "-2147483648"
+array(0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} !== string(0) ""
+array(0) {} !== int(1)
+array(0) {} !== float(2.5)
+array(0) {} !== int(0)
+array(0) {} !== string(6) "string"
+array(0) {} !== string(3) "123"
+array(0) {} !== string(3) "2.5"
+array(0) {} !== NULL
+array(0) {} !== bool(true)
+array(0) {} !== bool(false)
+array(0) {} !== object(stdClass)#1 (0) {}
+array(0) {} !== object(stdClass)#2 (0) {}
+array(0) {} !== object(test)#3 (0) {}
+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) !== int(1)
+int(-2147483648) !== float(2.5)
+int(-2147483648) !== int(0)
+int(-2147483648) !== string(6) "string"
+int(-2147483648) !== string(3) "123"
+int(-2147483648) !== string(3) "2.5"
+int(-2147483648) !== NULL
+int(-2147483648) !== bool(true)
+int(-2147483648) !== bool(false)
+int(-2147483648) !== object(stdClass)#1 (0) {}
+int(-2147483648) !== object(stdClass)#2 (0) {}
+int(-2147483648) !== object(test)#3 (0) {}
+int(-2147483648) !== array(0) {}
+int(-2147483648) === int(-2147483648)
+int(-2147483648) !== string(11) "-2147483648"
+string(11) "-2147483648" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" !== string(0) ""
+string(11) "-2147483648" !== int(1)
+string(11) "-2147483648" !== float(2.5)
+string(11) "-2147483648" !== int(0)
+string(11) "-2147483648" !== string(6) "string"
+string(11) "-2147483648" !== string(3) "123"
+string(11) "-2147483648" !== string(3) "2.5"
+string(11) "-2147483648" !== NULL
+string(11) "-2147483648" !== bool(true)
+string(11) "-2147483648" !== bool(false)
+string(11) "-2147483648" !== object(stdClass)#1 (0) {}
+string(11) "-2147483648" !== object(stdClass)#2 (0) {}
+string(11) "-2147483648" !== object(test)#3 (0) {}
+string(11) "-2147483648" !== array(0) {}
+string(11) "-2147483648" !== int(-2147483648)
+string(11) "-2147483648" === string(11) "-2147483648"
+Done
+--UEXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} === array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== unicode(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== unicode(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== unicode(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== unicode(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== unicode(11) "-2147483648"
+unicode(0) "" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(0) "" === unicode(0) ""
+unicode(0) "" !== int(1)
+unicode(0) "" !== float(2.5)
+unicode(0) "" !== int(0)
+unicode(0) "" !== unicode(6) "string"
+unicode(0) "" !== unicode(3) "123"
+unicode(0) "" !== unicode(3) "2.5"
+unicode(0) "" !== NULL
+unicode(0) "" !== bool(true)
+unicode(0) "" !== bool(false)
+unicode(0) "" !== object(stdClass)#1 (0) {}
+unicode(0) "" !== object(stdClass)#2 (0) {}
+unicode(0) "" !== object(test)#3 (0) {}
+unicode(0) "" !== array(0) {}
+unicode(0) "" !== int(-2147483648)
+unicode(0) "" !== unicode(11) "-2147483648"
+int(1) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) !== unicode(0) ""
+int(1) === int(1)
+int(1) !== float(2.5)
+int(1) !== int(0)
+int(1) !== unicode(6) "string"
+int(1) !== unicode(3) "123"
+int(1) !== unicode(3) "2.5"
+int(1) !== NULL
+int(1) !== bool(true)
+int(1) !== bool(false)
+int(1) !== object(stdClass)#1 (0) {}
+int(1) !== object(stdClass)#2 (0) {}
+int(1) !== object(test)#3 (0) {}
+int(1) !== array(0) {}
+int(1) !== int(-2147483648)
+int(1) !== unicode(11) "-2147483648"
+float(2.5) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) !== unicode(0) ""
+float(2.5) !== int(1)
+float(2.5) === float(2.5)
+float(2.5) !== int(0)
+float(2.5) !== unicode(6) "string"
+float(2.5) !== unicode(3) "123"
+float(2.5) !== unicode(3) "2.5"
+float(2.5) !== NULL
+float(2.5) !== bool(true)
+float(2.5) !== bool(false)
+float(2.5) !== object(stdClass)#1 (0) {}
+float(2.5) !== object(stdClass)#2 (0) {}
+float(2.5) !== object(test)#3 (0) {}
+float(2.5) !== array(0) {}
+float(2.5) !== int(-2147483648)
+float(2.5) !== unicode(11) "-2147483648"
+int(0) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) !== unicode(0) ""
+int(0) !== int(1)
+int(0) !== float(2.5)
+int(0) === int(0)
+int(0) !== unicode(6) "string"
+int(0) !== unicode(3) "123"
+int(0) !== unicode(3) "2.5"
+int(0) !== NULL
+int(0) !== bool(true)
+int(0) !== bool(false)
+int(0) !== object(stdClass)#1 (0) {}
+int(0) !== object(stdClass)#2 (0) {}
+int(0) !== object(test)#3 (0) {}
+int(0) !== array(0) {}
+int(0) !== int(-2147483648)
+int(0) !== unicode(11) "-2147483648"
+unicode(6) "string" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(6) "string" !== unicode(0) ""
+unicode(6) "string" !== int(1)
+unicode(6) "string" !== float(2.5)
+unicode(6) "string" !== int(0)
+unicode(6) "string" === unicode(6) "string"
+unicode(6) "string" !== unicode(3) "123"
+unicode(6) "string" !== unicode(3) "2.5"
+unicode(6) "string" !== NULL
+unicode(6) "string" !== bool(true)
+unicode(6) "string" !== bool(false)
+unicode(6) "string" !== object(stdClass)#1 (0) {}
+unicode(6) "string" !== object(stdClass)#2 (0) {}
+unicode(6) "string" !== object(test)#3 (0) {}
+unicode(6) "string" !== array(0) {}
+unicode(6) "string" !== int(-2147483648)
+unicode(6) "string" !== unicode(11) "-2147483648"
+unicode(3) "123" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "123" !== unicode(0) ""
+unicode(3) "123" !== int(1)
+unicode(3) "123" !== float(2.5)
+unicode(3) "123" !== int(0)
+unicode(3) "123" !== unicode(6) "string"
+unicode(3) "123" === unicode(3) "123"
+unicode(3) "123" !== unicode(3) "2.5"
+unicode(3) "123" !== NULL
+unicode(3) "123" !== bool(true)
+unicode(3) "123" !== bool(false)
+unicode(3) "123" !== object(stdClass)#1 (0) {}
+unicode(3) "123" !== object(stdClass)#2 (0) {}
+unicode(3) "123" !== object(test)#3 (0) {}
+unicode(3) "123" !== array(0) {}
+unicode(3) "123" !== int(-2147483648)
+unicode(3) "123" !== unicode(11) "-2147483648"
+unicode(3) "2.5" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "2.5" !== unicode(0) ""
+unicode(3) "2.5" !== int(1)
+unicode(3) "2.5" !== float(2.5)
+unicode(3) "2.5" !== int(0)
+unicode(3) "2.5" !== unicode(6) "string"
+unicode(3) "2.5" !== unicode(3) "123"
+unicode(3) "2.5" === unicode(3) "2.5"
+unicode(3) "2.5" !== NULL
+unicode(3) "2.5" !== bool(true)
+unicode(3) "2.5" !== bool(false)
+unicode(3) "2.5" !== object(stdClass)#1 (0) {}
+unicode(3) "2.5" !== object(stdClass)#2 (0) {}
+unicode(3) "2.5" !== object(test)#3 (0) {}
+unicode(3) "2.5" !== array(0) {}
+unicode(3) "2.5" !== int(-2147483648)
+unicode(3) "2.5" !== unicode(11) "-2147483648"
+NULL !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL !== unicode(0) ""
+NULL !== int(1)
+NULL !== float(2.5)
+NULL !== int(0)
+NULL !== unicode(6) "string"
+NULL !== unicode(3) "123"
+NULL !== unicode(3) "2.5"
+NULL === NULL
+NULL !== bool(true)
+NULL !== bool(false)
+NULL !== object(stdClass)#1 (0) {}
+NULL !== object(stdClass)#2 (0) {}
+NULL !== object(test)#3 (0) {}
+NULL !== array(0) {}
+NULL !== int(-2147483648)
+NULL !== unicode(11) "-2147483648"
+bool(true) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) !== unicode(0) ""
+bool(true) !== int(1)
+bool(true) !== float(2.5)
+bool(true) !== int(0)
+bool(true) !== unicode(6) "string"
+bool(true) !== unicode(3) "123"
+bool(true) !== unicode(3) "2.5"
+bool(true) !== NULL
+bool(true) === bool(true)
+bool(true) !== bool(false)
+bool(true) !== object(stdClass)#1 (0) {}
+bool(true) !== object(stdClass)#2 (0) {}
+bool(true) !== object(test)#3 (0) {}
+bool(true) !== array(0) {}
+bool(true) !== int(-2147483648)
+bool(true) !== unicode(11) "-2147483648"
+bool(false) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) !== unicode(0) ""
+bool(false) !== int(1)
+bool(false) !== float(2.5)
+bool(false) !== int(0)
+bool(false) !== unicode(6) "string"
+bool(false) !== unicode(3) "123"
+bool(false) !== unicode(3) "2.5"
+bool(false) !== NULL
+bool(false) !== bool(true)
+bool(false) === bool(false)
+bool(false) !== object(stdClass)#1 (0) {}
+bool(false) !== object(stdClass)#2 (0) {}
+bool(false) !== object(test)#3 (0) {}
+bool(false) !== array(0) {}
+bool(false) !== int(-2147483648)
+bool(false) !== unicode(11) "-2147483648"
+object(stdClass)#1 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} !== unicode(0) ""
+object(stdClass)#1 (0) {} !== int(1)
+object(stdClass)#1 (0) {} !== float(2.5)
+object(stdClass)#1 (0) {} !== int(0)
+object(stdClass)#1 (0) {} !== unicode(6) "string"
+object(stdClass)#1 (0) {} !== unicode(3) "123"
+object(stdClass)#1 (0) {} !== unicode(3) "2.5"
+object(stdClass)#1 (0) {} !== NULL
+object(stdClass)#1 (0) {} !== bool(true)
+object(stdClass)#1 (0) {} !== bool(false)
+object(stdClass)#1 (0) {} === object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} !== object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} !== object(test)#3 (0) {}
+object(stdClass)#1 (0) {} !== array(0) {}
+object(stdClass)#1 (0) {} !== int(-2147483648)
+object(stdClass)#1 (0) {} !== unicode(11) "-2147483648"
+object(stdClass)#2 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} !== unicode(0) ""
+object(stdClass)#2 (0) {} !== int(1)
+object(stdClass)#2 (0) {} !== float(2.5)
+object(stdClass)#2 (0) {} !== int(0)
+object(stdClass)#2 (0) {} !== unicode(6) "string"
+object(stdClass)#2 (0) {} !== unicode(3) "123"
+object(stdClass)#2 (0) {} !== unicode(3) "2.5"
+object(stdClass)#2 (0) {} !== NULL
+object(stdClass)#2 (0) {} !== bool(true)
+object(stdClass)#2 (0) {} !== bool(false)
+object(stdClass)#2 (0) {} !== object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} === object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} !== object(test)#3 (0) {}
+object(stdClass)#2 (0) {} !== array(0) {}
+object(stdClass)#2 (0) {} !== int(-2147483648)
+object(stdClass)#2 (0) {} !== unicode(11) "-2147483648"
+object(test)#3 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} !== unicode(0) ""
+object(test)#3 (0) {} !== int(1)
+object(test)#3 (0) {} !== float(2.5)
+object(test)#3 (0) {} !== int(0)
+object(test)#3 (0) {} !== unicode(6) "string"
+object(test)#3 (0) {} !== unicode(3) "123"
+object(test)#3 (0) {} !== unicode(3) "2.5"
+object(test)#3 (0) {} !== NULL
+object(test)#3 (0) {} !== bool(true)
+object(test)#3 (0) {} !== bool(false)
+object(test)#3 (0) {} !== object(stdClass)#1 (0) {}
+object(test)#3 (0) {} !== object(stdClass)#2 (0) {}
+object(test)#3 (0) {} === object(test)#3 (0) {}
+object(test)#3 (0) {} !== array(0) {}
+object(test)#3 (0) {} !== int(-2147483648)
+object(test)#3 (0) {} !== unicode(11) "-2147483648"
+array(0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} !== unicode(0) ""
+array(0) {} !== int(1)
+array(0) {} !== float(2.5)
+array(0) {} !== int(0)
+array(0) {} !== unicode(6) "string"
+array(0) {} !== unicode(3) "123"
+array(0) {} !== unicode(3) "2.5"
+array(0) {} !== NULL
+array(0) {} !== bool(true)
+array(0) {} !== bool(false)
+array(0) {} !== object(stdClass)#1 (0) {}
+array(0) {} !== object(stdClass)#2 (0) {}
+array(0) {} !== object(test)#3 (0) {}
+array(0) {} === array(0) {}
+array(0) {} !== int(-2147483648)
+array(0) {} !== unicode(11) "-2147483648"
+int(-2147483648) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) !== unicode(0) ""
+int(-2147483648) !== int(1)
+int(-2147483648) !== float(2.5)
+int(-2147483648) !== int(0)
+int(-2147483648) !== unicode(6) "string"
+int(-2147483648) !== unicode(3) "123"
+int(-2147483648) !== unicode(3) "2.5"
+int(-2147483648) !== NULL
+int(-2147483648) !== bool(true)
+int(-2147483648) !== bool(false)
+int(-2147483648) !== object(stdClass)#1 (0) {}
+int(-2147483648) !== object(stdClass)#2 (0) {}
+int(-2147483648) !== object(test)#3 (0) {}
+int(-2147483648) !== array(0) {}
+int(-2147483648) === int(-2147483648)
+int(-2147483648) !== unicode(11) "-2147483648"
+unicode(11) "-2147483648" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(11) "-2147483648" !== unicode(0) ""
+unicode(11) "-2147483648" !== int(1)
+unicode(11) "-2147483648" !== float(2.5)
+unicode(11) "-2147483648" !== int(0)
+unicode(11) "-2147483648" !== unicode(6) "string"
+unicode(11) "-2147483648" !== unicode(3) "123"
+unicode(11) "-2147483648" !== unicode(3) "2.5"
+unicode(11) "-2147483648" !== NULL
+unicode(11) "-2147483648" !== bool(true)
+unicode(11) "-2147483648" !== bool(false)
+unicode(11) "-2147483648" !== object(stdClass)#1 (0) {}
+unicode(11) "-2147483648" !== object(stdClass)#2 (0) {}
+unicode(11) "-2147483648" !== object(test)#3 (0) {}
+unicode(11) "-2147483648" !== array(0) {}
+unicode(11) "-2147483648" !== int(-2147483648)
+unicode(11) "-2147483648" === unicode(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_003.phpt b/Zend/tests/compare_003.phpt
new file mode 100644
index 0000000000..9889181b8c
--- /dev/null
+++ b/Zend/tests/compare_003.phpt
@@ -0,0 +1,726 @@
+--TEST--
+comparing different variables (greater than)
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var > $a[$i]) ? " > " : " <= ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(11) "-2147483648"
+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) "" <= string(6) "string"
+string(0) "" <= string(3) "123"
+string(0) "" <= string(3) "2.5"
+string(0) "" <= NULL
+string(0) "" <= bool(true)
+string(0) "" <= bool(false)
+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) "" <= 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(3) "123"
+int(1) <= string(3) "2.5"
+int(1) > NULL
+int(1) <= bool(true)
+int(1) > bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(1) <= array(0) {}
+int(1) > int(-2147483648)
+int(1) > string(11) "-2147483648"
+float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+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(3) "123"
+float(2.5) <= string(3) "2.5"
+float(2.5) > NULL
+float(2.5) <= bool(true)
+float(2.5) > bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ > object(test)#3 (0) {}
+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) <= int(1)
+int(0) <= float(2.5)
+int(0) <= int(0)
+int(0) <= string(6) "string"
+int(0) <= string(3) "123"
+int(0) <= string(3) "2.5"
+int(0) <= NULL
+int(0) <= bool(true)
+int(0) <= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(0) <= array(0) {}
+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" <= string(6) "string"
+string(6) "string" > string(3) "123"
+string(6) "string" > string(3) "2.5"
+string(6) "string" > NULL
+string(6) "string" <= bool(true)
+string(6) "string" > bool(false)
+string(6) "string" <= object(stdClass)#1 (0) {}
+string(6) "string" <= object(stdClass)#2 (0) {}
+string(6) "string" <= object(test)#3 (0) {}
+string(6) "string" <= array(0) {}
+string(6) "string" > int(-2147483648)
+string(6) "string" > string(11) "-2147483648"
+string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" > string(0) ""
+string(3) "123" > int(1)
+string(3) "123" > float(2.5)
+string(3) "123" > int(0)
+string(3) "123" <= string(6) "string"
+string(3) "123" <= string(3) "123"
+string(3) "123" > string(3) "2.5"
+string(3) "123" > NULL
+string(3) "123" <= bool(true)
+string(3) "123" > bool(false)
+string(3) "123" <= object(stdClass)#1 (0) {}
+string(3) "123" <= object(stdClass)#2 (0) {}
+string(3) "123" <= object(test)#3 (0) {}
+string(3) "123" <= array(0) {}
+string(3) "123" > int(-2147483648)
+string(3) "123" > string(11) "-2147483648"
+string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" > string(0) ""
+string(3) "2.5" > int(1)
+string(3) "2.5" <= float(2.5)
+string(3) "2.5" > int(0)
+string(3) "2.5" <= string(6) "string"
+string(3) "2.5" <= string(3) "123"
+string(3) "2.5" <= string(3) "2.5"
+string(3) "2.5" > NULL
+string(3) "2.5" <= bool(true)
+string(3) "2.5" > bool(false)
+string(3) "2.5" <= object(stdClass)#1 (0) {}
+string(3) "2.5" <= object(stdClass)#2 (0) {}
+string(3) "2.5" <= object(test)#3 (0) {}
+string(3) "2.5" <= array(0) {}
+string(3) "2.5" > int(-2147483648)
+string(3) "2.5" > string(11) "-2147483648"
+NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL <= string(0) ""
+NULL <= int(1)
+NULL <= float(2.5)
+NULL <= int(0)
+NULL <= string(6) "string"
+NULL <= string(3) "123"
+NULL <= string(3) "2.5"
+NULL <= NULL
+NULL <= bool(true)
+NULL <= bool(false)
+NULL <= object(stdClass)#1 (0) {}
+NULL <= object(stdClass)#2 (0) {}
+NULL <= object(test)#3 (0) {}
+NULL <= array(0) {}
+NULL <= int(-2147483648)
+NULL <= string(11) "-2147483648"
+bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) > string(0) ""
+bool(true) <= int(1)
+bool(true) <= float(2.5)
+bool(true) > int(0)
+bool(true) <= string(6) "string"
+bool(true) <= string(3) "123"
+bool(true) <= string(3) "2.5"
+bool(true) > NULL
+bool(true) <= bool(true)
+bool(true) > bool(false)
+bool(true) <= object(stdClass)#1 (0) {}
+bool(true) <= object(stdClass)#2 (0) {}
+bool(true) <= object(test)#3 (0) {}
+bool(true) > array(0) {}
+bool(true) <= int(-2147483648)
+bool(true) <= string(11) "-2147483648"
+bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) <= string(0) ""
+bool(false) <= int(1)
+bool(false) <= float(2.5)
+bool(false) <= int(0)
+bool(false) <= string(6) "string"
+bool(false) <= string(3) "123"
+bool(false) <= string(3) "2.5"
+bool(false) <= NULL
+bool(false) <= bool(true)
+bool(false) <= bool(false)
+bool(false) <= object(stdClass)#1 (0) {}
+bool(false) <= object(stdClass)#2 (0) {}
+bool(false) <= object(test)#3 (0) {}
+bool(false) <= array(0) {}
+bool(false) <= int(-2147483648)
+bool(false) <= string(11) "-2147483648"
+object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} > string(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#1 (0) {} > string(6) "string"
+object(stdClass)#1 (0) {} > string(3) "123"
+object(stdClass)#1 (0) {} > string(3) "2.5"
+object(stdClass)#1 (0) {} > NULL
+object(stdClass)#1 (0) {} <= bool(true)
+object(stdClass)#1 (0) {} > bool(false)
+object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} <= object(test)#3 (0) {}
+object(stdClass)#1 (0) {} > array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#1 (0) {} > string(11) "-2147483648"
+object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} > string(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#2 (0) {} > string(6) "string"
+object(stdClass)#2 (0) {} > string(3) "123"
+object(stdClass)#2 (0) {} > string(3) "2.5"
+object(stdClass)#2 (0) {} > NULL
+object(stdClass)#2 (0) {} <= bool(true)
+object(stdClass)#2 (0) {} > bool(false)
+object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} <= object(test)#3 (0) {}
+object(stdClass)#2 (0) {} > array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#2 (0) {} > string(11) "-2147483648"
+object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} > string(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ <= float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(0)
+object(test)#3 (0) {} > string(6) "string"
+object(test)#3 (0) {} > string(3) "123"
+object(test)#3 (0) {} > string(3) "2.5"
+object(test)#3 (0) {} > NULL
+object(test)#3 (0) {} <= bool(true)
+object(test)#3 (0) {} > bool(false)
+object(test)#3 (0) {} <= object(stdClass)#1 (0) {}
+object(test)#3 (0) {} <= object(stdClass)#2 (0) {}
+object(test)#3 (0) {} <= object(test)#3 (0) {}
+object(test)#3 (0) {} > array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(test)#3 (0) {} > string(11) "-2147483648"
+array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} > string(0) ""
+array(0) {} > int(1)
+array(0) {} > float(2.5)
+array(0) {} > int(0)
+array(0) {} > string(6) "string"
+array(0) {} > string(3) "123"
+array(0) {} > string(3) "2.5"
+array(0) {} <= NULL
+array(0) {} <= bool(true)
+array(0) {} <= bool(false)
+array(0) {} <= object(stdClass)#1 (0) {}
+array(0) {} <= object(stdClass)#2 (0) {}
+array(0) {} <= object(test)#3 (0) {}
+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) <= int(1)
+int(-2147483648) <= float(2.5)
+int(-2147483648) <= int(0)
+int(-2147483648) <= string(6) "string"
+int(-2147483648) <= string(3) "123"
+int(-2147483648) <= string(3) "2.5"
+int(-2147483648) > NULL
+int(-2147483648) <= bool(true)
+int(-2147483648) > bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(-2147483648) <= array(0) {}
+int(-2147483648) <= int(-2147483648)
+int(-2147483648) <= string(11) "-2147483648"
+string(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" > string(0) ""
+string(11) "-2147483648" <= int(1)
+string(11) "-2147483648" <= float(2.5)
+string(11) "-2147483648" <= int(0)
+string(11) "-2147483648" <= string(6) "string"
+string(11) "-2147483648" <= string(3) "123"
+string(11) "-2147483648" <= string(3) "2.5"
+string(11) "-2147483648" > NULL
+string(11) "-2147483648" <= bool(true)
+string(11) "-2147483648" > bool(false)
+string(11) "-2147483648" <= object(stdClass)#1 (0) {}
+string(11) "-2147483648" <= object(stdClass)#2 (0) {}
+string(11) "-2147483648" <= object(test)#3 (0) {}
+string(11) "-2147483648" <= array(0) {}
+string(11) "-2147483648" <= int(-2147483648)
+string(11) "-2147483648" <= string(11) "-2147483648"
+Done
+--UEXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > unicode(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > unicode(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > unicode(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > unicode(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > unicode(11) "-2147483648"
+unicode(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(0) "" <= unicode(0) ""
+unicode(0) "" <= int(1)
+unicode(0) "" <= float(2.5)
+unicode(0) "" <= int(0)
+unicode(0) "" <= unicode(6) "string"
+unicode(0) "" <= unicode(3) "123"
+unicode(0) "" <= unicode(3) "2.5"
+unicode(0) "" <= NULL
+unicode(0) "" <= bool(true)
+unicode(0) "" <= bool(false)
+unicode(0) "" <= object(stdClass)#1 (0) {}
+unicode(0) "" <= object(stdClass)#2 (0) {}
+unicode(0) "" <= object(test)#3 (0) {}
+unicode(0) "" <= array(0) {}
+unicode(0) "" > int(-2147483648)
+unicode(0) "" <= unicode(11) "-2147483648"
+int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) > unicode(0) ""
+int(1) <= int(1)
+int(1) <= float(2.5)
+int(1) > int(0)
+int(1) > unicode(6) "string"
+int(1) <= unicode(3) "123"
+int(1) <= unicode(3) "2.5"
+int(1) > NULL
+int(1) <= bool(true)
+int(1) > bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(1) <= array(0) {}
+int(1) > int(-2147483648)
+int(1) > unicode(11) "-2147483648"
+float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) > unicode(0) ""
+float(2.5) > int(1)
+float(2.5) <= float(2.5)
+float(2.5) > int(0)
+float(2.5) > unicode(6) "string"
+float(2.5) <= unicode(3) "123"
+float(2.5) <= unicode(3) "2.5"
+float(2.5) > NULL
+float(2.5) <= bool(true)
+float(2.5) > bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ > object(test)#3 (0) {}
+float(2.5) <= array(0) {}
+float(2.5) > int(-2147483648)
+float(2.5) > unicode(11) "-2147483648"
+int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) <= unicode(0) ""
+int(0) <= int(1)
+int(0) <= float(2.5)
+int(0) <= int(0)
+int(0) <= unicode(6) "string"
+int(0) <= unicode(3) "123"
+int(0) <= unicode(3) "2.5"
+int(0) <= NULL
+int(0) <= bool(true)
+int(0) <= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(0) <= array(0) {}
+int(0) > int(-2147483648)
+int(0) > unicode(11) "-2147483648"
+unicode(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(6) "string" > unicode(0) ""
+unicode(6) "string" <= int(1)
+unicode(6) "string" <= float(2.5)
+unicode(6) "string" <= int(0)
+unicode(6) "string" <= unicode(6) "string"
+unicode(6) "string" > unicode(3) "123"
+unicode(6) "string" > unicode(3) "2.5"
+unicode(6) "string" > NULL
+unicode(6) "string" <= bool(true)
+unicode(6) "string" > bool(false)
+unicode(6) "string" <= object(stdClass)#1 (0) {}
+unicode(6) "string" <= object(stdClass)#2 (0) {}
+unicode(6) "string" <= object(test)#3 (0) {}
+unicode(6) "string" <= array(0) {}
+unicode(6) "string" > int(-2147483648)
+unicode(6) "string" > unicode(11) "-2147483648"
+unicode(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "123" > unicode(0) ""
+unicode(3) "123" > int(1)
+unicode(3) "123" > float(2.5)
+unicode(3) "123" > int(0)
+unicode(3) "123" <= unicode(6) "string"
+unicode(3) "123" <= unicode(3) "123"
+unicode(3) "123" > unicode(3) "2.5"
+unicode(3) "123" > NULL
+unicode(3) "123" <= bool(true)
+unicode(3) "123" > bool(false)
+unicode(3) "123" <= object(stdClass)#1 (0) {}
+unicode(3) "123" <= object(stdClass)#2 (0) {}
+unicode(3) "123" <= object(test)#3 (0) {}
+unicode(3) "123" <= array(0) {}
+unicode(3) "123" > int(-2147483648)
+unicode(3) "123" > unicode(11) "-2147483648"
+unicode(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "2.5" > unicode(0) ""
+unicode(3) "2.5" > int(1)
+unicode(3) "2.5" <= float(2.5)
+unicode(3) "2.5" > int(0)
+unicode(3) "2.5" <= unicode(6) "string"
+unicode(3) "2.5" <= unicode(3) "123"
+unicode(3) "2.5" <= unicode(3) "2.5"
+unicode(3) "2.5" > NULL
+unicode(3) "2.5" <= bool(true)
+unicode(3) "2.5" > bool(false)
+unicode(3) "2.5" <= object(stdClass)#1 (0) {}
+unicode(3) "2.5" <= object(stdClass)#2 (0) {}
+unicode(3) "2.5" <= object(test)#3 (0) {}
+unicode(3) "2.5" <= array(0) {}
+unicode(3) "2.5" > int(-2147483648)
+unicode(3) "2.5" > unicode(11) "-2147483648"
+NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL <= unicode(0) ""
+NULL <= int(1)
+NULL <= float(2.5)
+NULL <= int(0)
+NULL <= unicode(6) "string"
+NULL <= unicode(3) "123"
+NULL <= unicode(3) "2.5"
+NULL <= NULL
+NULL <= bool(true)
+NULL <= bool(false)
+NULL <= object(stdClass)#1 (0) {}
+NULL <= object(stdClass)#2 (0) {}
+NULL <= object(test)#3 (0) {}
+NULL <= array(0) {}
+NULL <= int(-2147483648)
+NULL <= unicode(11) "-2147483648"
+bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) > unicode(0) ""
+bool(true) <= int(1)
+bool(true) <= float(2.5)
+bool(true) > int(0)
+bool(true) <= unicode(6) "string"
+bool(true) <= unicode(3) "123"
+bool(true) <= unicode(3) "2.5"
+bool(true) > NULL
+bool(true) <= bool(true)
+bool(true) > bool(false)
+bool(true) <= object(stdClass)#1 (0) {}
+bool(true) <= object(stdClass)#2 (0) {}
+bool(true) <= object(test)#3 (0) {}
+bool(true) > array(0) {}
+bool(true) <= int(-2147483648)
+bool(true) <= unicode(11) "-2147483648"
+bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) <= unicode(0) ""
+bool(false) <= int(1)
+bool(false) <= float(2.5)
+bool(false) <= int(0)
+bool(false) <= unicode(6) "string"
+bool(false) <= unicode(3) "123"
+bool(false) <= unicode(3) "2.5"
+bool(false) <= NULL
+bool(false) <= bool(true)
+bool(false) <= bool(false)
+bool(false) <= object(stdClass)#1 (0) {}
+bool(false) <= object(stdClass)#2 (0) {}
+bool(false) <= object(test)#3 (0) {}
+bool(false) <= array(0) {}
+bool(false) <= int(-2147483648)
+bool(false) <= unicode(11) "-2147483648"
+object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} > unicode(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#1 (0) {} > unicode(6) "string"
+object(stdClass)#1 (0) {} > unicode(3) "123"
+object(stdClass)#1 (0) {} > unicode(3) "2.5"
+object(stdClass)#1 (0) {} > NULL
+object(stdClass)#1 (0) {} <= bool(true)
+object(stdClass)#1 (0) {} > bool(false)
+object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} <= object(test)#3 (0) {}
+object(stdClass)#1 (0) {} > array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#1 (0) {} > unicode(11) "-2147483648"
+object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} > unicode(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#2 (0) {} > unicode(6) "string"
+object(stdClass)#2 (0) {} > unicode(3) "123"
+object(stdClass)#2 (0) {} > unicode(3) "2.5"
+object(stdClass)#2 (0) {} > NULL
+object(stdClass)#2 (0) {} <= bool(true)
+object(stdClass)#2 (0) {} > bool(false)
+object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} <= object(test)#3 (0) {}
+object(stdClass)#2 (0) {} > array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#2 (0) {} > unicode(11) "-2147483648"
+object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} > unicode(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ <= float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(0)
+object(test)#3 (0) {} > unicode(6) "string"
+object(test)#3 (0) {} > unicode(3) "123"
+object(test)#3 (0) {} > unicode(3) "2.5"
+object(test)#3 (0) {} > NULL
+object(test)#3 (0) {} <= bool(true)
+object(test)#3 (0) {} > bool(false)
+object(test)#3 (0) {} <= object(stdClass)#1 (0) {}
+object(test)#3 (0) {} <= object(stdClass)#2 (0) {}
+object(test)#3 (0) {} <= object(test)#3 (0) {}
+object(test)#3 (0) {} > array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(test)#3 (0) {} > unicode(11) "-2147483648"
+array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} > unicode(0) ""
+array(0) {} > int(1)
+array(0) {} > float(2.5)
+array(0) {} > int(0)
+array(0) {} > unicode(6) "string"
+array(0) {} > unicode(3) "123"
+array(0) {} > unicode(3) "2.5"
+array(0) {} <= NULL
+array(0) {} <= bool(true)
+array(0) {} <= bool(false)
+array(0) {} <= object(stdClass)#1 (0) {}
+array(0) {} <= object(stdClass)#2 (0) {}
+array(0) {} <= object(test)#3 (0) {}
+array(0) {} <= array(0) {}
+array(0) {} > int(-2147483648)
+array(0) {} > unicode(11) "-2147483648"
+int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) <= unicode(0) ""
+int(-2147483648) <= int(1)
+int(-2147483648) <= float(2.5)
+int(-2147483648) <= int(0)
+int(-2147483648) <= unicode(6) "string"
+int(-2147483648) <= unicode(3) "123"
+int(-2147483648) <= unicode(3) "2.5"
+int(-2147483648) > NULL
+int(-2147483648) <= bool(true)
+int(-2147483648) > bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(-2147483648) <= array(0) {}
+int(-2147483648) <= int(-2147483648)
+int(-2147483648) <= unicode(11) "-2147483648"
+unicode(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(11) "-2147483648" > unicode(0) ""
+unicode(11) "-2147483648" <= int(1)
+unicode(11) "-2147483648" <= float(2.5)
+unicode(11) "-2147483648" <= int(0)
+unicode(11) "-2147483648" <= unicode(6) "string"
+unicode(11) "-2147483648" <= unicode(3) "123"
+unicode(11) "-2147483648" <= unicode(3) "2.5"
+unicode(11) "-2147483648" > NULL
+unicode(11) "-2147483648" <= bool(true)
+unicode(11) "-2147483648" > bool(false)
+unicode(11) "-2147483648" <= object(stdClass)#1 (0) {}
+unicode(11) "-2147483648" <= object(stdClass)#2 (0) {}
+unicode(11) "-2147483648" <= object(test)#3 (0) {}
+unicode(11) "-2147483648" <= array(0) {}
+unicode(11) "-2147483648" <= int(-2147483648)
+unicode(11) "-2147483648" <= unicode(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_004.phpt b/Zend/tests/compare_004.phpt
new file mode 100644
index 0000000000..eb41937445
--- /dev/null
+++ b/Zend/tests/compare_004.phpt
@@ -0,0 +1,726 @@
+--TEST--
+comparing different variables (less than)
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var < $a[$i]) ? " < " : " >= ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(11) "-2147483648"
+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) "" < string(6) "string"
+string(0) "" < string(3) "123"
+string(0) "" < string(3) "2.5"
+string(0) "" >= NULL
+string(0) "" < bool(true)
+string(0) "" >= bool(false)
+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) "" < 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(3) "123"
+int(1) < string(3) "2.5"
+int(1) >= NULL
+int(1) >= bool(true)
+int(1) >= bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= object(test)#3 (0) {}
+int(1) < array(0) {}
+int(1) >= int(-2147483648)
+int(1) >= string(11) "-2147483648"
+float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+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(3) "123"
+float(2.5) >= string(3) "2.5"
+float(2.5) >= NULL
+float(2.5) >= bool(true)
+float(2.5) >= bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ >= object(test)#3 (0) {}
+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) < int(1)
+int(0) < float(2.5)
+int(0) >= int(0)
+int(0) >= string(6) "string"
+int(0) < string(3) "123"
+int(0) < string(3) "2.5"
+int(0) >= NULL
+int(0) < bool(true)
+int(0) >= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(0) < array(0) {}
+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" >= string(6) "string"
+string(6) "string" >= string(3) "123"
+string(6) "string" >= string(3) "2.5"
+string(6) "string" >= NULL
+string(6) "string" >= bool(true)
+string(6) "string" >= bool(false)
+string(6) "string" < object(stdClass)#1 (0) {}
+string(6) "string" < object(stdClass)#2 (0) {}
+string(6) "string" < object(test)#3 (0) {}
+string(6) "string" < array(0) {}
+string(6) "string" >= int(-2147483648)
+string(6) "string" >= string(11) "-2147483648"
+string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" >= string(0) ""
+string(3) "123" >= int(1)
+string(3) "123" >= float(2.5)
+string(3) "123" >= int(0)
+string(3) "123" < string(6) "string"
+string(3) "123" >= string(3) "123"
+string(3) "123" >= string(3) "2.5"
+string(3) "123" >= NULL
+string(3) "123" >= bool(true)
+string(3) "123" >= bool(false)
+string(3) "123" < object(stdClass)#1 (0) {}
+string(3) "123" < object(stdClass)#2 (0) {}
+string(3) "123" < object(test)#3 (0) {}
+string(3) "123" < array(0) {}
+string(3) "123" >= int(-2147483648)
+string(3) "123" >= string(11) "-2147483648"
+string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" >= string(0) ""
+string(3) "2.5" >= int(1)
+string(3) "2.5" >= float(2.5)
+string(3) "2.5" >= int(0)
+string(3) "2.5" < string(6) "string"
+string(3) "2.5" < string(3) "123"
+string(3) "2.5" >= string(3) "2.5"
+string(3) "2.5" >= NULL
+string(3) "2.5" >= bool(true)
+string(3) "2.5" >= bool(false)
+string(3) "2.5" < object(stdClass)#1 (0) {}
+string(3) "2.5" < object(stdClass)#2 (0) {}
+string(3) "2.5" < object(test)#3 (0) {}
+string(3) "2.5" < array(0) {}
+string(3) "2.5" >= int(-2147483648)
+string(3) "2.5" >= string(11) "-2147483648"
+NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL >= string(0) ""
+NULL < int(1)
+NULL < float(2.5)
+NULL >= int(0)
+NULL < string(6) "string"
+NULL < string(3) "123"
+NULL < string(3) "2.5"
+NULL >= NULL
+NULL < bool(true)
+NULL >= bool(false)
+NULL < object(stdClass)#1 (0) {}
+NULL < object(stdClass)#2 (0) {}
+NULL < object(test)#3 (0) {}
+NULL >= array(0) {}
+NULL < int(-2147483648)
+NULL < string(11) "-2147483648"
+bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) >= string(0) ""
+bool(true) >= int(1)
+bool(true) >= float(2.5)
+bool(true) >= int(0)
+bool(true) >= string(6) "string"
+bool(true) >= string(3) "123"
+bool(true) >= string(3) "2.5"
+bool(true) >= NULL
+bool(true) >= bool(true)
+bool(true) >= bool(false)
+bool(true) >= object(stdClass)#1 (0) {}
+bool(true) >= object(stdClass)#2 (0) {}
+bool(true) >= object(test)#3 (0) {}
+bool(true) >= array(0) {}
+bool(true) >= int(-2147483648)
+bool(true) >= string(11) "-2147483648"
+bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) >= string(0) ""
+bool(false) < int(1)
+bool(false) < float(2.5)
+bool(false) >= int(0)
+bool(false) < string(6) "string"
+bool(false) < string(3) "123"
+bool(false) < string(3) "2.5"
+bool(false) >= NULL
+bool(false) < bool(true)
+bool(false) >= bool(false)
+bool(false) < object(stdClass)#1 (0) {}
+bool(false) < object(stdClass)#2 (0) {}
+bool(false) < object(test)#3 (0) {}
+bool(false) >= array(0) {}
+bool(false) < int(-2147483648)
+bool(false) < string(11) "-2147483648"
+object(stdClass)#1 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} >= string(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#1 (0) {} >= string(6) "string"
+object(stdClass)#1 (0) {} >= string(3) "123"
+object(stdClass)#1 (0) {} >= string(3) "2.5"
+object(stdClass)#1 (0) {} >= NULL
+object(stdClass)#1 (0) {} >= bool(true)
+object(stdClass)#1 (0) {} >= bool(false)
+object(stdClass)#1 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} >= object(test)#3 (0) {}
+object(stdClass)#1 (0) {} >= array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#1 (0) {} >= string(11) "-2147483648"
+object(stdClass)#2 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} >= string(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#2 (0) {} >= string(6) "string"
+object(stdClass)#2 (0) {} >= string(3) "123"
+object(stdClass)#2 (0) {} >= string(3) "2.5"
+object(stdClass)#2 (0) {} >= NULL
+object(stdClass)#2 (0) {} >= bool(true)
+object(stdClass)#2 (0) {} >= bool(false)
+object(stdClass)#2 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} >= object(test)#3 (0) {}
+object(stdClass)#2 (0) {} >= array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#2 (0) {} >= string(11) "-2147483648"
+object(test)#3 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} >= string(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ < float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(0)
+object(test)#3 (0) {} >= string(6) "string"
+object(test)#3 (0) {} >= string(3) "123"
+object(test)#3 (0) {} >= string(3) "2.5"
+object(test)#3 (0) {} >= NULL
+object(test)#3 (0) {} >= bool(true)
+object(test)#3 (0) {} >= bool(false)
+object(test)#3 (0) {} >= object(stdClass)#1 (0) {}
+object(test)#3 (0) {} >= object(stdClass)#2 (0) {}
+object(test)#3 (0) {} >= object(test)#3 (0) {}
+object(test)#3 (0) {} >= array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(test)#3 (0) {} >= string(11) "-2147483648"
+array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} >= string(0) ""
+array(0) {} >= int(1)
+array(0) {} >= float(2.5)
+array(0) {} >= int(0)
+array(0) {} >= string(6) "string"
+array(0) {} >= string(3) "123"
+array(0) {} >= string(3) "2.5"
+array(0) {} >= NULL
+array(0) {} < bool(true)
+array(0) {} >= bool(false)
+array(0) {} < object(stdClass)#1 (0) {}
+array(0) {} < object(stdClass)#2 (0) {}
+array(0) {} < object(test)#3 (0) {}
+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) < int(1)
+int(-2147483648) < float(2.5)
+int(-2147483648) < int(0)
+int(-2147483648) < string(6) "string"
+int(-2147483648) < string(3) "123"
+int(-2147483648) < string(3) "2.5"
+int(-2147483648) >= NULL
+int(-2147483648) >= bool(true)
+int(-2147483648) >= bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(-2147483648) < array(0) {}
+int(-2147483648) >= int(-2147483648)
+int(-2147483648) >= string(11) "-2147483648"
+string(11) "-2147483648" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" >= string(0) ""
+string(11) "-2147483648" < int(1)
+string(11) "-2147483648" < float(2.5)
+string(11) "-2147483648" < int(0)
+string(11) "-2147483648" < string(6) "string"
+string(11) "-2147483648" < string(3) "123"
+string(11) "-2147483648" < string(3) "2.5"
+string(11) "-2147483648" >= NULL
+string(11) "-2147483648" >= bool(true)
+string(11) "-2147483648" >= bool(false)
+string(11) "-2147483648" < object(stdClass)#1 (0) {}
+string(11) "-2147483648" < object(stdClass)#2 (0) {}
+string(11) "-2147483648" < object(test)#3 (0) {}
+string(11) "-2147483648" < array(0) {}
+string(11) "-2147483648" >= int(-2147483648)
+string(11) "-2147483648" >= string(11) "-2147483648"
+Done
+--UEXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= unicode(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= unicode(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= unicode(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= unicode(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= unicode(11) "-2147483648"
+unicode(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(0) "" >= unicode(0) ""
+unicode(0) "" < int(1)
+unicode(0) "" < float(2.5)
+unicode(0) "" >= int(0)
+unicode(0) "" < unicode(6) "string"
+unicode(0) "" < unicode(3) "123"
+unicode(0) "" < unicode(3) "2.5"
+unicode(0) "" >= NULL
+unicode(0) "" < bool(true)
+unicode(0) "" >= bool(false)
+unicode(0) "" < object(stdClass)#1 (0) {}
+unicode(0) "" < object(stdClass)#2 (0) {}
+unicode(0) "" < object(test)#3 (0) {}
+unicode(0) "" < array(0) {}
+unicode(0) "" >= int(-2147483648)
+unicode(0) "" < unicode(11) "-2147483648"
+int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) >= unicode(0) ""
+int(1) >= int(1)
+int(1) < float(2.5)
+int(1) >= int(0)
+int(1) >= unicode(6) "string"
+int(1) < unicode(3) "123"
+int(1) < unicode(3) "2.5"
+int(1) >= NULL
+int(1) >= bool(true)
+int(1) >= bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= object(test)#3 (0) {}
+int(1) < array(0) {}
+int(1) >= int(-2147483648)
+int(1) >= unicode(11) "-2147483648"
+float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) >= unicode(0) ""
+float(2.5) >= int(1)
+float(2.5) >= float(2.5)
+float(2.5) >= int(0)
+float(2.5) >= unicode(6) "string"
+float(2.5) < unicode(3) "123"
+float(2.5) >= unicode(3) "2.5"
+float(2.5) >= NULL
+float(2.5) >= bool(true)
+float(2.5) >= bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ >= object(test)#3 (0) {}
+float(2.5) < array(0) {}
+float(2.5) >= int(-2147483648)
+float(2.5) >= unicode(11) "-2147483648"
+int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) >= unicode(0) ""
+int(0) < int(1)
+int(0) < float(2.5)
+int(0) >= int(0)
+int(0) >= unicode(6) "string"
+int(0) < unicode(3) "123"
+int(0) < unicode(3) "2.5"
+int(0) >= NULL
+int(0) < bool(true)
+int(0) >= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(0) < array(0) {}
+int(0) >= int(-2147483648)
+int(0) >= unicode(11) "-2147483648"
+unicode(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(6) "string" >= unicode(0) ""
+unicode(6) "string" < int(1)
+unicode(6) "string" < float(2.5)
+unicode(6) "string" >= int(0)
+unicode(6) "string" >= unicode(6) "string"
+unicode(6) "string" >= unicode(3) "123"
+unicode(6) "string" >= unicode(3) "2.5"
+unicode(6) "string" >= NULL
+unicode(6) "string" >= bool(true)
+unicode(6) "string" >= bool(false)
+unicode(6) "string" < object(stdClass)#1 (0) {}
+unicode(6) "string" < object(stdClass)#2 (0) {}
+unicode(6) "string" < object(test)#3 (0) {}
+unicode(6) "string" < array(0) {}
+unicode(6) "string" >= int(-2147483648)
+unicode(6) "string" >= unicode(11) "-2147483648"
+unicode(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "123" >= unicode(0) ""
+unicode(3) "123" >= int(1)
+unicode(3) "123" >= float(2.5)
+unicode(3) "123" >= int(0)
+unicode(3) "123" < unicode(6) "string"
+unicode(3) "123" >= unicode(3) "123"
+unicode(3) "123" >= unicode(3) "2.5"
+unicode(3) "123" >= NULL
+unicode(3) "123" >= bool(true)
+unicode(3) "123" >= bool(false)
+unicode(3) "123" < object(stdClass)#1 (0) {}
+unicode(3) "123" < object(stdClass)#2 (0) {}
+unicode(3) "123" < object(test)#3 (0) {}
+unicode(3) "123" < array(0) {}
+unicode(3) "123" >= int(-2147483648)
+unicode(3) "123" >= unicode(11) "-2147483648"
+unicode(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "2.5" >= unicode(0) ""
+unicode(3) "2.5" >= int(1)
+unicode(3) "2.5" >= float(2.5)
+unicode(3) "2.5" >= int(0)
+unicode(3) "2.5" < unicode(6) "string"
+unicode(3) "2.5" < unicode(3) "123"
+unicode(3) "2.5" >= unicode(3) "2.5"
+unicode(3) "2.5" >= NULL
+unicode(3) "2.5" >= bool(true)
+unicode(3) "2.5" >= bool(false)
+unicode(3) "2.5" < object(stdClass)#1 (0) {}
+unicode(3) "2.5" < object(stdClass)#2 (0) {}
+unicode(3) "2.5" < object(test)#3 (0) {}
+unicode(3) "2.5" < array(0) {}
+unicode(3) "2.5" >= int(-2147483648)
+unicode(3) "2.5" >= unicode(11) "-2147483648"
+NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL >= unicode(0) ""
+NULL < int(1)
+NULL < float(2.5)
+NULL >= int(0)
+NULL < unicode(6) "string"
+NULL < unicode(3) "123"
+NULL < unicode(3) "2.5"
+NULL >= NULL
+NULL < bool(true)
+NULL >= bool(false)
+NULL < object(stdClass)#1 (0) {}
+NULL < object(stdClass)#2 (0) {}
+NULL < object(test)#3 (0) {}
+NULL >= array(0) {}
+NULL < int(-2147483648)
+NULL < unicode(11) "-2147483648"
+bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) >= unicode(0) ""
+bool(true) >= int(1)
+bool(true) >= float(2.5)
+bool(true) >= int(0)
+bool(true) >= unicode(6) "string"
+bool(true) >= unicode(3) "123"
+bool(true) >= unicode(3) "2.5"
+bool(true) >= NULL
+bool(true) >= bool(true)
+bool(true) >= bool(false)
+bool(true) >= object(stdClass)#1 (0) {}
+bool(true) >= object(stdClass)#2 (0) {}
+bool(true) >= object(test)#3 (0) {}
+bool(true) >= array(0) {}
+bool(true) >= int(-2147483648)
+bool(true) >= unicode(11) "-2147483648"
+bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) >= unicode(0) ""
+bool(false) < int(1)
+bool(false) < float(2.5)
+bool(false) >= int(0)
+bool(false) < unicode(6) "string"
+bool(false) < unicode(3) "123"
+bool(false) < unicode(3) "2.5"
+bool(false) >= NULL
+bool(false) < bool(true)
+bool(false) >= bool(false)
+bool(false) < object(stdClass)#1 (0) {}
+bool(false) < object(stdClass)#2 (0) {}
+bool(false) < object(test)#3 (0) {}
+bool(false) >= array(0) {}
+bool(false) < int(-2147483648)
+bool(false) < unicode(11) "-2147483648"
+object(stdClass)#1 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} >= unicode(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#1 (0) {} >= unicode(6) "string"
+object(stdClass)#1 (0) {} >= unicode(3) "123"
+object(stdClass)#1 (0) {} >= unicode(3) "2.5"
+object(stdClass)#1 (0) {} >= NULL
+object(stdClass)#1 (0) {} >= bool(true)
+object(stdClass)#1 (0) {} >= bool(false)
+object(stdClass)#1 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} >= object(test)#3 (0) {}
+object(stdClass)#1 (0) {} >= array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#1 (0) {} >= unicode(11) "-2147483648"
+object(stdClass)#2 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} >= unicode(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#2 (0) {} >= unicode(6) "string"
+object(stdClass)#2 (0) {} >= unicode(3) "123"
+object(stdClass)#2 (0) {} >= unicode(3) "2.5"
+object(stdClass)#2 (0) {} >= NULL
+object(stdClass)#2 (0) {} >= bool(true)
+object(stdClass)#2 (0) {} >= bool(false)
+object(stdClass)#2 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} >= object(test)#3 (0) {}
+object(stdClass)#2 (0) {} >= array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#2 (0) {} >= unicode(11) "-2147483648"
+object(test)#3 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} >= unicode(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ < float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(0)
+object(test)#3 (0) {} >= unicode(6) "string"
+object(test)#3 (0) {} >= unicode(3) "123"
+object(test)#3 (0) {} >= unicode(3) "2.5"
+object(test)#3 (0) {} >= NULL
+object(test)#3 (0) {} >= bool(true)
+object(test)#3 (0) {} >= bool(false)
+object(test)#3 (0) {} >= object(stdClass)#1 (0) {}
+object(test)#3 (0) {} >= object(stdClass)#2 (0) {}
+object(test)#3 (0) {} >= object(test)#3 (0) {}
+object(test)#3 (0) {} >= array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(test)#3 (0) {} >= unicode(11) "-2147483648"
+array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} >= unicode(0) ""
+array(0) {} >= int(1)
+array(0) {} >= float(2.5)
+array(0) {} >= int(0)
+array(0) {} >= unicode(6) "string"
+array(0) {} >= unicode(3) "123"
+array(0) {} >= unicode(3) "2.5"
+array(0) {} >= NULL
+array(0) {} < bool(true)
+array(0) {} >= bool(false)
+array(0) {} < object(stdClass)#1 (0) {}
+array(0) {} < object(stdClass)#2 (0) {}
+array(0) {} < object(test)#3 (0) {}
+array(0) {} >= array(0) {}
+array(0) {} >= int(-2147483648)
+array(0) {} >= unicode(11) "-2147483648"
+int(-2147483648) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) < unicode(0) ""
+int(-2147483648) < int(1)
+int(-2147483648) < float(2.5)
+int(-2147483648) < int(0)
+int(-2147483648) < unicode(6) "string"
+int(-2147483648) < unicode(3) "123"
+int(-2147483648) < unicode(3) "2.5"
+int(-2147483648) >= NULL
+int(-2147483648) >= bool(true)
+int(-2147483648) >= bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(-2147483648) < array(0) {}
+int(-2147483648) >= int(-2147483648)
+int(-2147483648) >= unicode(11) "-2147483648"
+unicode(11) "-2147483648" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(11) "-2147483648" >= unicode(0) ""
+unicode(11) "-2147483648" < int(1)
+unicode(11) "-2147483648" < float(2.5)
+unicode(11) "-2147483648" < int(0)
+unicode(11) "-2147483648" < unicode(6) "string"
+unicode(11) "-2147483648" < unicode(3) "123"
+unicode(11) "-2147483648" < unicode(3) "2.5"
+unicode(11) "-2147483648" >= NULL
+unicode(11) "-2147483648" >= bool(true)
+unicode(11) "-2147483648" >= bool(false)
+unicode(11) "-2147483648" < object(stdClass)#1 (0) {}
+unicode(11) "-2147483648" < object(stdClass)#2 (0) {}
+unicode(11) "-2147483648" < object(test)#3 (0) {}
+unicode(11) "-2147483648" < array(0) {}
+unicode(11) "-2147483648" >= int(-2147483648)
+unicode(11) "-2147483648" >= unicode(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_005.phpt b/Zend/tests/compare_005.phpt
new file mode 100644
index 0000000000..4001444b76
--- /dev/null
+++ b/Zend/tests/compare_005.phpt
@@ -0,0 +1,726 @@
+--TEST--
+comparing different variables (greater or equal than)
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var >= $a[$i]) ? " >= " : " < ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(11) "-2147483648"
+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) "" < string(6) "string"
+string(0) "" < string(3) "123"
+string(0) "" < string(3) "2.5"
+string(0) "" >= NULL
+string(0) "" < bool(true)
+string(0) "" >= bool(false)
+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) "" < 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(3) "123"
+int(1) < string(3) "2.5"
+int(1) >= NULL
+int(1) >= bool(true)
+int(1) >= bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= object(test)#3 (0) {}
+int(1) < array(0) {}
+int(1) >= int(-2147483648)
+int(1) >= string(11) "-2147483648"
+float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+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(3) "123"
+float(2.5) >= string(3) "2.5"
+float(2.5) >= NULL
+float(2.5) >= bool(true)
+float(2.5) >= bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ >= object(test)#3 (0) {}
+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) < int(1)
+int(0) < float(2.5)
+int(0) >= int(0)
+int(0) >= string(6) "string"
+int(0) < string(3) "123"
+int(0) < string(3) "2.5"
+int(0) >= NULL
+int(0) < bool(true)
+int(0) >= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(0) < array(0) {}
+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" >= string(6) "string"
+string(6) "string" >= string(3) "123"
+string(6) "string" >= string(3) "2.5"
+string(6) "string" >= NULL
+string(6) "string" >= bool(true)
+string(6) "string" >= bool(false)
+string(6) "string" < object(stdClass)#1 (0) {}
+string(6) "string" < object(stdClass)#2 (0) {}
+string(6) "string" < object(test)#3 (0) {}
+string(6) "string" < array(0) {}
+string(6) "string" >= int(-2147483648)
+string(6) "string" >= string(11) "-2147483648"
+string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" >= string(0) ""
+string(3) "123" >= int(1)
+string(3) "123" >= float(2.5)
+string(3) "123" >= int(0)
+string(3) "123" < string(6) "string"
+string(3) "123" >= string(3) "123"
+string(3) "123" >= string(3) "2.5"
+string(3) "123" >= NULL
+string(3) "123" >= bool(true)
+string(3) "123" >= bool(false)
+string(3) "123" < object(stdClass)#1 (0) {}
+string(3) "123" < object(stdClass)#2 (0) {}
+string(3) "123" < object(test)#3 (0) {}
+string(3) "123" < array(0) {}
+string(3) "123" >= int(-2147483648)
+string(3) "123" >= string(11) "-2147483648"
+string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" >= string(0) ""
+string(3) "2.5" >= int(1)
+string(3) "2.5" >= float(2.5)
+string(3) "2.5" >= int(0)
+string(3) "2.5" < string(6) "string"
+string(3) "2.5" < string(3) "123"
+string(3) "2.5" >= string(3) "2.5"
+string(3) "2.5" >= NULL
+string(3) "2.5" >= bool(true)
+string(3) "2.5" >= bool(false)
+string(3) "2.5" < object(stdClass)#1 (0) {}
+string(3) "2.5" < object(stdClass)#2 (0) {}
+string(3) "2.5" < object(test)#3 (0) {}
+string(3) "2.5" < array(0) {}
+string(3) "2.5" >= int(-2147483648)
+string(3) "2.5" >= string(11) "-2147483648"
+NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL >= string(0) ""
+NULL < int(1)
+NULL < float(2.5)
+NULL >= int(0)
+NULL < string(6) "string"
+NULL < string(3) "123"
+NULL < string(3) "2.5"
+NULL >= NULL
+NULL < bool(true)
+NULL >= bool(false)
+NULL < object(stdClass)#1 (0) {}
+NULL < object(stdClass)#2 (0) {}
+NULL < object(test)#3 (0) {}
+NULL >= array(0) {}
+NULL < int(-2147483648)
+NULL < string(11) "-2147483648"
+bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) >= string(0) ""
+bool(true) >= int(1)
+bool(true) >= float(2.5)
+bool(true) >= int(0)
+bool(true) >= string(6) "string"
+bool(true) >= string(3) "123"
+bool(true) >= string(3) "2.5"
+bool(true) >= NULL
+bool(true) >= bool(true)
+bool(true) >= bool(false)
+bool(true) >= object(stdClass)#1 (0) {}
+bool(true) >= object(stdClass)#2 (0) {}
+bool(true) >= object(test)#3 (0) {}
+bool(true) >= array(0) {}
+bool(true) >= int(-2147483648)
+bool(true) >= string(11) "-2147483648"
+bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) >= string(0) ""
+bool(false) < int(1)
+bool(false) < float(2.5)
+bool(false) >= int(0)
+bool(false) < string(6) "string"
+bool(false) < string(3) "123"
+bool(false) < string(3) "2.5"
+bool(false) >= NULL
+bool(false) < bool(true)
+bool(false) >= bool(false)
+bool(false) < object(stdClass)#1 (0) {}
+bool(false) < object(stdClass)#2 (0) {}
+bool(false) < object(test)#3 (0) {}
+bool(false) >= array(0) {}
+bool(false) < int(-2147483648)
+bool(false) < string(11) "-2147483648"
+object(stdClass)#1 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} >= string(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#1 (0) {} >= string(6) "string"
+object(stdClass)#1 (0) {} >= string(3) "123"
+object(stdClass)#1 (0) {} >= string(3) "2.5"
+object(stdClass)#1 (0) {} >= NULL
+object(stdClass)#1 (0) {} >= bool(true)
+object(stdClass)#1 (0) {} >= bool(false)
+object(stdClass)#1 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} < object(test)#3 (0) {}
+object(stdClass)#1 (0) {} >= array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#1 (0) {} >= string(11) "-2147483648"
+object(stdClass)#2 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} >= string(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#2 (0) {} >= string(6) "string"
+object(stdClass)#2 (0) {} >= string(3) "123"
+object(stdClass)#2 (0) {} >= string(3) "2.5"
+object(stdClass)#2 (0) {} >= NULL
+object(stdClass)#2 (0) {} >= bool(true)
+object(stdClass)#2 (0) {} >= bool(false)
+object(stdClass)#2 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} < object(test)#3 (0) {}
+object(stdClass)#2 (0) {} >= array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#2 (0) {} >= string(11) "-2147483648"
+object(test)#3 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} >= string(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ < float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(0)
+object(test)#3 (0) {} >= string(6) "string"
+object(test)#3 (0) {} >= string(3) "123"
+object(test)#3 (0) {} >= string(3) "2.5"
+object(test)#3 (0) {} >= NULL
+object(test)#3 (0) {} >= bool(true)
+object(test)#3 (0) {} >= bool(false)
+object(test)#3 (0) {} < object(stdClass)#1 (0) {}
+object(test)#3 (0) {} < object(stdClass)#2 (0) {}
+object(test)#3 (0) {} >= object(test)#3 (0) {}
+object(test)#3 (0) {} >= array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(test)#3 (0) {} >= string(11) "-2147483648"
+array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} >= string(0) ""
+array(0) {} >= int(1)
+array(0) {} >= float(2.5)
+array(0) {} >= int(0)
+array(0) {} >= string(6) "string"
+array(0) {} >= string(3) "123"
+array(0) {} >= string(3) "2.5"
+array(0) {} >= NULL
+array(0) {} < bool(true)
+array(0) {} >= bool(false)
+array(0) {} < object(stdClass)#1 (0) {}
+array(0) {} < object(stdClass)#2 (0) {}
+array(0) {} < object(test)#3 (0) {}
+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) < int(1)
+int(-2147483648) < float(2.5)
+int(-2147483648) < int(0)
+int(-2147483648) < string(6) "string"
+int(-2147483648) < string(3) "123"
+int(-2147483648) < string(3) "2.5"
+int(-2147483648) >= NULL
+int(-2147483648) >= bool(true)
+int(-2147483648) >= bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(-2147483648) < array(0) {}
+int(-2147483648) >= int(-2147483648)
+int(-2147483648) >= string(11) "-2147483648"
+string(11) "-2147483648" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" >= string(0) ""
+string(11) "-2147483648" < int(1)
+string(11) "-2147483648" < float(2.5)
+string(11) "-2147483648" < int(0)
+string(11) "-2147483648" < string(6) "string"
+string(11) "-2147483648" < string(3) "123"
+string(11) "-2147483648" < string(3) "2.5"
+string(11) "-2147483648" >= NULL
+string(11) "-2147483648" >= bool(true)
+string(11) "-2147483648" >= bool(false)
+string(11) "-2147483648" < object(stdClass)#1 (0) {}
+string(11) "-2147483648" < object(stdClass)#2 (0) {}
+string(11) "-2147483648" < object(test)#3 (0) {}
+string(11) "-2147483648" < array(0) {}
+string(11) "-2147483648" >= int(-2147483648)
+string(11) "-2147483648" >= string(11) "-2147483648"
+Done
+--UEXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= unicode(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= unicode(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= unicode(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= unicode(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= unicode(11) "-2147483648"
+unicode(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(0) "" >= unicode(0) ""
+unicode(0) "" < int(1)
+unicode(0) "" < float(2.5)
+unicode(0) "" >= int(0)
+unicode(0) "" < unicode(6) "string"
+unicode(0) "" < unicode(3) "123"
+unicode(0) "" < unicode(3) "2.5"
+unicode(0) "" >= NULL
+unicode(0) "" < bool(true)
+unicode(0) "" >= bool(false)
+unicode(0) "" < object(stdClass)#1 (0) {}
+unicode(0) "" < object(stdClass)#2 (0) {}
+unicode(0) "" < object(test)#3 (0) {}
+unicode(0) "" < array(0) {}
+unicode(0) "" >= int(-2147483648)
+unicode(0) "" < unicode(11) "-2147483648"
+int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) >= unicode(0) ""
+int(1) >= int(1)
+int(1) < float(2.5)
+int(1) >= int(0)
+int(1) >= unicode(6) "string"
+int(1) < unicode(3) "123"
+int(1) < unicode(3) "2.5"
+int(1) >= NULL
+int(1) >= bool(true)
+int(1) >= bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= object(test)#3 (0) {}
+int(1) < array(0) {}
+int(1) >= int(-2147483648)
+int(1) >= unicode(11) "-2147483648"
+float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) >= unicode(0) ""
+float(2.5) >= int(1)
+float(2.5) >= float(2.5)
+float(2.5) >= int(0)
+float(2.5) >= unicode(6) "string"
+float(2.5) < unicode(3) "123"
+float(2.5) >= unicode(3) "2.5"
+float(2.5) >= NULL
+float(2.5) >= bool(true)
+float(2.5) >= bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ >= object(test)#3 (0) {}
+float(2.5) < array(0) {}
+float(2.5) >= int(-2147483648)
+float(2.5) >= unicode(11) "-2147483648"
+int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) >= unicode(0) ""
+int(0) < int(1)
+int(0) < float(2.5)
+int(0) >= int(0)
+int(0) >= unicode(6) "string"
+int(0) < unicode(3) "123"
+int(0) < unicode(3) "2.5"
+int(0) >= NULL
+int(0) < bool(true)
+int(0) >= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(0) < array(0) {}
+int(0) >= int(-2147483648)
+int(0) >= unicode(11) "-2147483648"
+unicode(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(6) "string" >= unicode(0) ""
+unicode(6) "string" < int(1)
+unicode(6) "string" < float(2.5)
+unicode(6) "string" >= int(0)
+unicode(6) "string" >= unicode(6) "string"
+unicode(6) "string" >= unicode(3) "123"
+unicode(6) "string" >= unicode(3) "2.5"
+unicode(6) "string" >= NULL
+unicode(6) "string" >= bool(true)
+unicode(6) "string" >= bool(false)
+unicode(6) "string" < object(stdClass)#1 (0) {}
+unicode(6) "string" < object(stdClass)#2 (0) {}
+unicode(6) "string" < object(test)#3 (0) {}
+unicode(6) "string" < array(0) {}
+unicode(6) "string" >= int(-2147483648)
+unicode(6) "string" >= unicode(11) "-2147483648"
+unicode(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "123" >= unicode(0) ""
+unicode(3) "123" >= int(1)
+unicode(3) "123" >= float(2.5)
+unicode(3) "123" >= int(0)
+unicode(3) "123" < unicode(6) "string"
+unicode(3) "123" >= unicode(3) "123"
+unicode(3) "123" >= unicode(3) "2.5"
+unicode(3) "123" >= NULL
+unicode(3) "123" >= bool(true)
+unicode(3) "123" >= bool(false)
+unicode(3) "123" < object(stdClass)#1 (0) {}
+unicode(3) "123" < object(stdClass)#2 (0) {}
+unicode(3) "123" < object(test)#3 (0) {}
+unicode(3) "123" < array(0) {}
+unicode(3) "123" >= int(-2147483648)
+unicode(3) "123" >= unicode(11) "-2147483648"
+unicode(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "2.5" >= unicode(0) ""
+unicode(3) "2.5" >= int(1)
+unicode(3) "2.5" >= float(2.5)
+unicode(3) "2.5" >= int(0)
+unicode(3) "2.5" < unicode(6) "string"
+unicode(3) "2.5" < unicode(3) "123"
+unicode(3) "2.5" >= unicode(3) "2.5"
+unicode(3) "2.5" >= NULL
+unicode(3) "2.5" >= bool(true)
+unicode(3) "2.5" >= bool(false)
+unicode(3) "2.5" < object(stdClass)#1 (0) {}
+unicode(3) "2.5" < object(stdClass)#2 (0) {}
+unicode(3) "2.5" < object(test)#3 (0) {}
+unicode(3) "2.5" < array(0) {}
+unicode(3) "2.5" >= int(-2147483648)
+unicode(3) "2.5" >= unicode(11) "-2147483648"
+NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL >= unicode(0) ""
+NULL < int(1)
+NULL < float(2.5)
+NULL >= int(0)
+NULL < unicode(6) "string"
+NULL < unicode(3) "123"
+NULL < unicode(3) "2.5"
+NULL >= NULL
+NULL < bool(true)
+NULL >= bool(false)
+NULL < object(stdClass)#1 (0) {}
+NULL < object(stdClass)#2 (0) {}
+NULL < object(test)#3 (0) {}
+NULL >= array(0) {}
+NULL < int(-2147483648)
+NULL < unicode(11) "-2147483648"
+bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) >= unicode(0) ""
+bool(true) >= int(1)
+bool(true) >= float(2.5)
+bool(true) >= int(0)
+bool(true) >= unicode(6) "string"
+bool(true) >= unicode(3) "123"
+bool(true) >= unicode(3) "2.5"
+bool(true) >= NULL
+bool(true) >= bool(true)
+bool(true) >= bool(false)
+bool(true) >= object(stdClass)#1 (0) {}
+bool(true) >= object(stdClass)#2 (0) {}
+bool(true) >= object(test)#3 (0) {}
+bool(true) >= array(0) {}
+bool(true) >= int(-2147483648)
+bool(true) >= unicode(11) "-2147483648"
+bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) >= unicode(0) ""
+bool(false) < int(1)
+bool(false) < float(2.5)
+bool(false) >= int(0)
+bool(false) < unicode(6) "string"
+bool(false) < unicode(3) "123"
+bool(false) < unicode(3) "2.5"
+bool(false) >= NULL
+bool(false) < bool(true)
+bool(false) >= bool(false)
+bool(false) < object(stdClass)#1 (0) {}
+bool(false) < object(stdClass)#2 (0) {}
+bool(false) < object(test)#3 (0) {}
+bool(false) >= array(0) {}
+bool(false) < int(-2147483648)
+bool(false) < unicode(11) "-2147483648"
+object(stdClass)#1 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} >= unicode(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#1 (0) {} >= unicode(6) "string"
+object(stdClass)#1 (0) {} >= unicode(3) "123"
+object(stdClass)#1 (0) {} >= unicode(3) "2.5"
+object(stdClass)#1 (0) {} >= NULL
+object(stdClass)#1 (0) {} >= bool(true)
+object(stdClass)#1 (0) {} >= bool(false)
+object(stdClass)#1 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} < object(test)#3 (0) {}
+object(stdClass)#1 (0) {} >= array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#1 (0) {} >= unicode(11) "-2147483648"
+object(stdClass)#2 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} >= unicode(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#2 (0) {} >= unicode(6) "string"
+object(stdClass)#2 (0) {} >= unicode(3) "123"
+object(stdClass)#2 (0) {} >= unicode(3) "2.5"
+object(stdClass)#2 (0) {} >= NULL
+object(stdClass)#2 (0) {} >= bool(true)
+object(stdClass)#2 (0) {} >= bool(false)
+object(stdClass)#2 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} < object(test)#3 (0) {}
+object(stdClass)#2 (0) {} >= array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#2 (0) {} >= unicode(11) "-2147483648"
+object(test)#3 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} >= unicode(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ < float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(0)
+object(test)#3 (0) {} >= unicode(6) "string"
+object(test)#3 (0) {} >= unicode(3) "123"
+object(test)#3 (0) {} >= unicode(3) "2.5"
+object(test)#3 (0) {} >= NULL
+object(test)#3 (0) {} >= bool(true)
+object(test)#3 (0) {} >= bool(false)
+object(test)#3 (0) {} < object(stdClass)#1 (0) {}
+object(test)#3 (0) {} < object(stdClass)#2 (0) {}
+object(test)#3 (0) {} >= object(test)#3 (0) {}
+object(test)#3 (0) {} >= array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(test)#3 (0) {} >= unicode(11) "-2147483648"
+array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} >= unicode(0) ""
+array(0) {} >= int(1)
+array(0) {} >= float(2.5)
+array(0) {} >= int(0)
+array(0) {} >= unicode(6) "string"
+array(0) {} >= unicode(3) "123"
+array(0) {} >= unicode(3) "2.5"
+array(0) {} >= NULL
+array(0) {} < bool(true)
+array(0) {} >= bool(false)
+array(0) {} < object(stdClass)#1 (0) {}
+array(0) {} < object(stdClass)#2 (0) {}
+array(0) {} < object(test)#3 (0) {}
+array(0) {} >= array(0) {}
+array(0) {} >= int(-2147483648)
+array(0) {} >= unicode(11) "-2147483648"
+int(-2147483648) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) < unicode(0) ""
+int(-2147483648) < int(1)
+int(-2147483648) < float(2.5)
+int(-2147483648) < int(0)
+int(-2147483648) < unicode(6) "string"
+int(-2147483648) < unicode(3) "123"
+int(-2147483648) < unicode(3) "2.5"
+int(-2147483648) >= NULL
+int(-2147483648) >= bool(true)
+int(-2147483648) >= bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(-2147483648) < array(0) {}
+int(-2147483648) >= int(-2147483648)
+int(-2147483648) >= unicode(11) "-2147483648"
+unicode(11) "-2147483648" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(11) "-2147483648" >= unicode(0) ""
+unicode(11) "-2147483648" < int(1)
+unicode(11) "-2147483648" < float(2.5)
+unicode(11) "-2147483648" < int(0)
+unicode(11) "-2147483648" < unicode(6) "string"
+unicode(11) "-2147483648" < unicode(3) "123"
+unicode(11) "-2147483648" < unicode(3) "2.5"
+unicode(11) "-2147483648" >= NULL
+unicode(11) "-2147483648" >= bool(true)
+unicode(11) "-2147483648" >= bool(false)
+unicode(11) "-2147483648" < object(stdClass)#1 (0) {}
+unicode(11) "-2147483648" < object(stdClass)#2 (0) {}
+unicode(11) "-2147483648" < object(test)#3 (0) {}
+unicode(11) "-2147483648" < array(0) {}
+unicode(11) "-2147483648" >= int(-2147483648)
+unicode(11) "-2147483648" >= unicode(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_006.phpt b/Zend/tests/compare_006.phpt
new file mode 100644
index 0000000000..f8be0f92bd
--- /dev/null
+++ b/Zend/tests/compare_006.phpt
@@ -0,0 +1,726 @@
+--TEST--
+comparing different variables (smaller or equal than)
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var <= $a[$i]) ? " <= " : " > ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(11) "-2147483648"
+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) "" <= string(6) "string"
+string(0) "" <= string(3) "123"
+string(0) "" <= string(3) "2.5"
+string(0) "" <= NULL
+string(0) "" <= bool(true)
+string(0) "" <= bool(false)
+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) "" <= 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(3) "123"
+int(1) <= string(3) "2.5"
+int(1) > NULL
+int(1) <= bool(true)
+int(1) > bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(1) <= array(0) {}
+int(1) > int(-2147483648)
+int(1) > string(11) "-2147483648"
+float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+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(3) "123"
+float(2.5) <= string(3) "2.5"
+float(2.5) > NULL
+float(2.5) <= bool(true)
+float(2.5) > bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ > object(test)#3 (0) {}
+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) <= int(1)
+int(0) <= float(2.5)
+int(0) <= int(0)
+int(0) <= string(6) "string"
+int(0) <= string(3) "123"
+int(0) <= string(3) "2.5"
+int(0) <= NULL
+int(0) <= bool(true)
+int(0) <= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(0) <= array(0) {}
+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" <= string(6) "string"
+string(6) "string" > string(3) "123"
+string(6) "string" > string(3) "2.5"
+string(6) "string" > NULL
+string(6) "string" <= bool(true)
+string(6) "string" > bool(false)
+string(6) "string" <= object(stdClass)#1 (0) {}
+string(6) "string" <= object(stdClass)#2 (0) {}
+string(6) "string" <= object(test)#3 (0) {}
+string(6) "string" <= array(0) {}
+string(6) "string" > int(-2147483648)
+string(6) "string" > string(11) "-2147483648"
+string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" > string(0) ""
+string(3) "123" > int(1)
+string(3) "123" > float(2.5)
+string(3) "123" > int(0)
+string(3) "123" <= string(6) "string"
+string(3) "123" <= string(3) "123"
+string(3) "123" > string(3) "2.5"
+string(3) "123" > NULL
+string(3) "123" <= bool(true)
+string(3) "123" > bool(false)
+string(3) "123" <= object(stdClass)#1 (0) {}
+string(3) "123" <= object(stdClass)#2 (0) {}
+string(3) "123" <= object(test)#3 (0) {}
+string(3) "123" <= array(0) {}
+string(3) "123" > int(-2147483648)
+string(3) "123" > string(11) "-2147483648"
+string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" > string(0) ""
+string(3) "2.5" > int(1)
+string(3) "2.5" <= float(2.5)
+string(3) "2.5" > int(0)
+string(3) "2.5" <= string(6) "string"
+string(3) "2.5" <= string(3) "123"
+string(3) "2.5" <= string(3) "2.5"
+string(3) "2.5" > NULL
+string(3) "2.5" <= bool(true)
+string(3) "2.5" > bool(false)
+string(3) "2.5" <= object(stdClass)#1 (0) {}
+string(3) "2.5" <= object(stdClass)#2 (0) {}
+string(3) "2.5" <= object(test)#3 (0) {}
+string(3) "2.5" <= array(0) {}
+string(3) "2.5" > int(-2147483648)
+string(3) "2.5" > string(11) "-2147483648"
+NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL <= string(0) ""
+NULL <= int(1)
+NULL <= float(2.5)
+NULL <= int(0)
+NULL <= string(6) "string"
+NULL <= string(3) "123"
+NULL <= string(3) "2.5"
+NULL <= NULL
+NULL <= bool(true)
+NULL <= bool(false)
+NULL <= object(stdClass)#1 (0) {}
+NULL <= object(stdClass)#2 (0) {}
+NULL <= object(test)#3 (0) {}
+NULL <= array(0) {}
+NULL <= int(-2147483648)
+NULL <= string(11) "-2147483648"
+bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) > string(0) ""
+bool(true) <= int(1)
+bool(true) <= float(2.5)
+bool(true) > int(0)
+bool(true) <= string(6) "string"
+bool(true) <= string(3) "123"
+bool(true) <= string(3) "2.5"
+bool(true) > NULL
+bool(true) <= bool(true)
+bool(true) > bool(false)
+bool(true) <= object(stdClass)#1 (0) {}
+bool(true) <= object(stdClass)#2 (0) {}
+bool(true) <= object(test)#3 (0) {}
+bool(true) > array(0) {}
+bool(true) <= int(-2147483648)
+bool(true) <= string(11) "-2147483648"
+bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) <= string(0) ""
+bool(false) <= int(1)
+bool(false) <= float(2.5)
+bool(false) <= int(0)
+bool(false) <= string(6) "string"
+bool(false) <= string(3) "123"
+bool(false) <= string(3) "2.5"
+bool(false) <= NULL
+bool(false) <= bool(true)
+bool(false) <= bool(false)
+bool(false) <= object(stdClass)#1 (0) {}
+bool(false) <= object(stdClass)#2 (0) {}
+bool(false) <= object(test)#3 (0) {}
+bool(false) <= array(0) {}
+bool(false) <= int(-2147483648)
+bool(false) <= string(11) "-2147483648"
+object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} > string(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#1 (0) {} > string(6) "string"
+object(stdClass)#1 (0) {} > string(3) "123"
+object(stdClass)#1 (0) {} > string(3) "2.5"
+object(stdClass)#1 (0) {} > NULL
+object(stdClass)#1 (0) {} <= bool(true)
+object(stdClass)#1 (0) {} > bool(false)
+object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} > object(test)#3 (0) {}
+object(stdClass)#1 (0) {} > array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#1 (0) {} > string(11) "-2147483648"
+object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} > string(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#2 (0) {} > string(6) "string"
+object(stdClass)#2 (0) {} > string(3) "123"
+object(stdClass)#2 (0) {} > string(3) "2.5"
+object(stdClass)#2 (0) {} > NULL
+object(stdClass)#2 (0) {} <= bool(true)
+object(stdClass)#2 (0) {} > bool(false)
+object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} > object(test)#3 (0) {}
+object(stdClass)#2 (0) {} > array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#2 (0) {} > string(11) "-2147483648"
+object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} > string(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ <= float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(0)
+object(test)#3 (0) {} > string(6) "string"
+object(test)#3 (0) {} > string(3) "123"
+object(test)#3 (0) {} > string(3) "2.5"
+object(test)#3 (0) {} > NULL
+object(test)#3 (0) {} <= bool(true)
+object(test)#3 (0) {} > bool(false)
+object(test)#3 (0) {} > object(stdClass)#1 (0) {}
+object(test)#3 (0) {} > object(stdClass)#2 (0) {}
+object(test)#3 (0) {} <= object(test)#3 (0) {}
+object(test)#3 (0) {} > array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(test)#3 (0) {} > string(11) "-2147483648"
+array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} > string(0) ""
+array(0) {} > int(1)
+array(0) {} > float(2.5)
+array(0) {} > int(0)
+array(0) {} > string(6) "string"
+array(0) {} > string(3) "123"
+array(0) {} > string(3) "2.5"
+array(0) {} <= NULL
+array(0) {} <= bool(true)
+array(0) {} <= bool(false)
+array(0) {} <= object(stdClass)#1 (0) {}
+array(0) {} <= object(stdClass)#2 (0) {}
+array(0) {} <= object(test)#3 (0) {}
+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) <= int(1)
+int(-2147483648) <= float(2.5)
+int(-2147483648) <= int(0)
+int(-2147483648) <= string(6) "string"
+int(-2147483648) <= string(3) "123"
+int(-2147483648) <= string(3) "2.5"
+int(-2147483648) > NULL
+int(-2147483648) <= bool(true)
+int(-2147483648) > bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(-2147483648) <= array(0) {}
+int(-2147483648) <= int(-2147483648)
+int(-2147483648) <= string(11) "-2147483648"
+string(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" > string(0) ""
+string(11) "-2147483648" <= int(1)
+string(11) "-2147483648" <= float(2.5)
+string(11) "-2147483648" <= int(0)
+string(11) "-2147483648" <= string(6) "string"
+string(11) "-2147483648" <= string(3) "123"
+string(11) "-2147483648" <= string(3) "2.5"
+string(11) "-2147483648" > NULL
+string(11) "-2147483648" <= bool(true)
+string(11) "-2147483648" > bool(false)
+string(11) "-2147483648" <= object(stdClass)#1 (0) {}
+string(11) "-2147483648" <= object(stdClass)#2 (0) {}
+string(11) "-2147483648" <= object(test)#3 (0) {}
+string(11) "-2147483648" <= array(0) {}
+string(11) "-2147483648" <= int(-2147483648)
+string(11) "-2147483648" <= string(11) "-2147483648"
+Done
+--UEXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > unicode(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > unicode(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > unicode(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > unicode(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > unicode(11) "-2147483648"
+unicode(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(0) "" <= unicode(0) ""
+unicode(0) "" <= int(1)
+unicode(0) "" <= float(2.5)
+unicode(0) "" <= int(0)
+unicode(0) "" <= unicode(6) "string"
+unicode(0) "" <= unicode(3) "123"
+unicode(0) "" <= unicode(3) "2.5"
+unicode(0) "" <= NULL
+unicode(0) "" <= bool(true)
+unicode(0) "" <= bool(false)
+unicode(0) "" <= object(stdClass)#1 (0) {}
+unicode(0) "" <= object(stdClass)#2 (0) {}
+unicode(0) "" <= object(test)#3 (0) {}
+unicode(0) "" <= array(0) {}
+unicode(0) "" > int(-2147483648)
+unicode(0) "" <= unicode(11) "-2147483648"
+int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) > unicode(0) ""
+int(1) <= int(1)
+int(1) <= float(2.5)
+int(1) > int(0)
+int(1) > unicode(6) "string"
+int(1) <= unicode(3) "123"
+int(1) <= unicode(3) "2.5"
+int(1) > NULL
+int(1) <= bool(true)
+int(1) > bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(1) <= array(0) {}
+int(1) > int(-2147483648)
+int(1) > unicode(11) "-2147483648"
+float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) > unicode(0) ""
+float(2.5) > int(1)
+float(2.5) <= float(2.5)
+float(2.5) > int(0)
+float(2.5) > unicode(6) "string"
+float(2.5) <= unicode(3) "123"
+float(2.5) <= unicode(3) "2.5"
+float(2.5) > NULL
+float(2.5) <= bool(true)
+float(2.5) > bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ > object(test)#3 (0) {}
+float(2.5) <= array(0) {}
+float(2.5) > int(-2147483648)
+float(2.5) > unicode(11) "-2147483648"
+int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) <= unicode(0) ""
+int(0) <= int(1)
+int(0) <= float(2.5)
+int(0) <= int(0)
+int(0) <= unicode(6) "string"
+int(0) <= unicode(3) "123"
+int(0) <= unicode(3) "2.5"
+int(0) <= NULL
+int(0) <= bool(true)
+int(0) <= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(0) <= array(0) {}
+int(0) > int(-2147483648)
+int(0) > unicode(11) "-2147483648"
+unicode(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(6) "string" > unicode(0) ""
+unicode(6) "string" <= int(1)
+unicode(6) "string" <= float(2.5)
+unicode(6) "string" <= int(0)
+unicode(6) "string" <= unicode(6) "string"
+unicode(6) "string" > unicode(3) "123"
+unicode(6) "string" > unicode(3) "2.5"
+unicode(6) "string" > NULL
+unicode(6) "string" <= bool(true)
+unicode(6) "string" > bool(false)
+unicode(6) "string" <= object(stdClass)#1 (0) {}
+unicode(6) "string" <= object(stdClass)#2 (0) {}
+unicode(6) "string" <= object(test)#3 (0) {}
+unicode(6) "string" <= array(0) {}
+unicode(6) "string" > int(-2147483648)
+unicode(6) "string" > unicode(11) "-2147483648"
+unicode(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "123" > unicode(0) ""
+unicode(3) "123" > int(1)
+unicode(3) "123" > float(2.5)
+unicode(3) "123" > int(0)
+unicode(3) "123" <= unicode(6) "string"
+unicode(3) "123" <= unicode(3) "123"
+unicode(3) "123" > unicode(3) "2.5"
+unicode(3) "123" > NULL
+unicode(3) "123" <= bool(true)
+unicode(3) "123" > bool(false)
+unicode(3) "123" <= object(stdClass)#1 (0) {}
+unicode(3) "123" <= object(stdClass)#2 (0) {}
+unicode(3) "123" <= object(test)#3 (0) {}
+unicode(3) "123" <= array(0) {}
+unicode(3) "123" > int(-2147483648)
+unicode(3) "123" > unicode(11) "-2147483648"
+unicode(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(3) "2.5" > unicode(0) ""
+unicode(3) "2.5" > int(1)
+unicode(3) "2.5" <= float(2.5)
+unicode(3) "2.5" > int(0)
+unicode(3) "2.5" <= unicode(6) "string"
+unicode(3) "2.5" <= unicode(3) "123"
+unicode(3) "2.5" <= unicode(3) "2.5"
+unicode(3) "2.5" > NULL
+unicode(3) "2.5" <= bool(true)
+unicode(3) "2.5" > bool(false)
+unicode(3) "2.5" <= object(stdClass)#1 (0) {}
+unicode(3) "2.5" <= object(stdClass)#2 (0) {}
+unicode(3) "2.5" <= object(test)#3 (0) {}
+unicode(3) "2.5" <= array(0) {}
+unicode(3) "2.5" > int(-2147483648)
+unicode(3) "2.5" > unicode(11) "-2147483648"
+NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL <= unicode(0) ""
+NULL <= int(1)
+NULL <= float(2.5)
+NULL <= int(0)
+NULL <= unicode(6) "string"
+NULL <= unicode(3) "123"
+NULL <= unicode(3) "2.5"
+NULL <= NULL
+NULL <= bool(true)
+NULL <= bool(false)
+NULL <= object(stdClass)#1 (0) {}
+NULL <= object(stdClass)#2 (0) {}
+NULL <= object(test)#3 (0) {}
+NULL <= array(0) {}
+NULL <= int(-2147483648)
+NULL <= unicode(11) "-2147483648"
+bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) > unicode(0) ""
+bool(true) <= int(1)
+bool(true) <= float(2.5)
+bool(true) > int(0)
+bool(true) <= unicode(6) "string"
+bool(true) <= unicode(3) "123"
+bool(true) <= unicode(3) "2.5"
+bool(true) > NULL
+bool(true) <= bool(true)
+bool(true) > bool(false)
+bool(true) <= object(stdClass)#1 (0) {}
+bool(true) <= object(stdClass)#2 (0) {}
+bool(true) <= object(test)#3 (0) {}
+bool(true) > array(0) {}
+bool(true) <= int(-2147483648)
+bool(true) <= unicode(11) "-2147483648"
+bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) <= unicode(0) ""
+bool(false) <= int(1)
+bool(false) <= float(2.5)
+bool(false) <= int(0)
+bool(false) <= unicode(6) "string"
+bool(false) <= unicode(3) "123"
+bool(false) <= unicode(3) "2.5"
+bool(false) <= NULL
+bool(false) <= bool(true)
+bool(false) <= bool(false)
+bool(false) <= object(stdClass)#1 (0) {}
+bool(false) <= object(stdClass)#2 (0) {}
+bool(false) <= object(test)#3 (0) {}
+bool(false) <= array(0) {}
+bool(false) <= int(-2147483648)
+bool(false) <= unicode(11) "-2147483648"
+object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} > unicode(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#1 (0) {} > unicode(6) "string"
+object(stdClass)#1 (0) {} > unicode(3) "123"
+object(stdClass)#1 (0) {} > unicode(3) "2.5"
+object(stdClass)#1 (0) {} > NULL
+object(stdClass)#1 (0) {} <= bool(true)
+object(stdClass)#1 (0) {} > bool(false)
+object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} > object(test)#3 (0) {}
+object(stdClass)#1 (0) {} > array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#1 (0) {} > unicode(11) "-2147483648"
+object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} > unicode(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#2 (0) {} > unicode(6) "string"
+object(stdClass)#2 (0) {} > unicode(3) "123"
+object(stdClass)#2 (0) {} > unicode(3) "2.5"
+object(stdClass)#2 (0) {} > NULL
+object(stdClass)#2 (0) {} <= bool(true)
+object(stdClass)#2 (0) {} > bool(false)
+object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} > object(test)#3 (0) {}
+object(stdClass)#2 (0) {} > array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#2 (0) {} > unicode(11) "-2147483648"
+object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} > unicode(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ <= float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(0)
+object(test)#3 (0) {} > unicode(6) "string"
+object(test)#3 (0) {} > unicode(3) "123"
+object(test)#3 (0) {} > unicode(3) "2.5"
+object(test)#3 (0) {} > NULL
+object(test)#3 (0) {} <= bool(true)
+object(test)#3 (0) {} > bool(false)
+object(test)#3 (0) {} > object(stdClass)#1 (0) {}
+object(test)#3 (0) {} > object(stdClass)#2 (0) {}
+object(test)#3 (0) {} <= object(test)#3 (0) {}
+object(test)#3 (0) {} > array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(test)#3 (0) {} > unicode(11) "-2147483648"
+array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} > unicode(0) ""
+array(0) {} > int(1)
+array(0) {} > float(2.5)
+array(0) {} > int(0)
+array(0) {} > unicode(6) "string"
+array(0) {} > unicode(3) "123"
+array(0) {} > unicode(3) "2.5"
+array(0) {} <= NULL
+array(0) {} <= bool(true)
+array(0) {} <= bool(false)
+array(0) {} <= object(stdClass)#1 (0) {}
+array(0) {} <= object(stdClass)#2 (0) {}
+array(0) {} <= object(test)#3 (0) {}
+array(0) {} <= array(0) {}
+array(0) {} > int(-2147483648)
+array(0) {} > unicode(11) "-2147483648"
+int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) <= unicode(0) ""
+int(-2147483648) <= int(1)
+int(-2147483648) <= float(2.5)
+int(-2147483648) <= int(0)
+int(-2147483648) <= unicode(6) "string"
+int(-2147483648) <= unicode(3) "123"
+int(-2147483648) <= unicode(3) "2.5"
+int(-2147483648) > NULL
+int(-2147483648) <= bool(true)
+int(-2147483648) > bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(-2147483648) <= array(0) {}
+int(-2147483648) <= int(-2147483648)
+int(-2147483648) <= unicode(11) "-2147483648"
+unicode(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+unicode(11) "-2147483648" > unicode(0) ""
+unicode(11) "-2147483648" <= int(1)
+unicode(11) "-2147483648" <= float(2.5)
+unicode(11) "-2147483648" <= int(0)
+unicode(11) "-2147483648" <= unicode(6) "string"
+unicode(11) "-2147483648" <= unicode(3) "123"
+unicode(11) "-2147483648" <= unicode(3) "2.5"
+unicode(11) "-2147483648" > NULL
+unicode(11) "-2147483648" <= bool(true)
+unicode(11) "-2147483648" > bool(false)
+unicode(11) "-2147483648" <= object(stdClass)#1 (0) {}
+unicode(11) "-2147483648" <= object(stdClass)#2 (0) {}
+unicode(11) "-2147483648" <= object(test)#3 (0) {}
+unicode(11) "-2147483648" <= array(0) {}
+unicode(11) "-2147483648" <= int(-2147483648)
+unicode(11) "-2147483648" <= unicode(11) "-2147483648"
+Done
diff --git a/Zend/tests/decrement_001.phpt b/Zend/tests/decrement_001.phpt
new file mode 100644
index 0000000000..558f92eecd
--- /dev/null
+++ b/Zend/tests/decrement_001.phpt
@@ -0,0 +1,56 @@
+--TEST--
+decrementing different variables
+--FILE--
+<?php
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+foreach ($a as $var) {
+ $var--;
+ var_dump($var);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+}
+int(-1)
+int(0)
+float(1.5)
+int(-1)
+string(6) "string"
+int(122)
+float(1.5)
+NULL
+bool(true)
+bool(false)
+object(stdClass)#%d (0) {
+}
+array(0) {
+}
+float(-2147483649)
+float(-2147483649)
+Done
diff --git a/Zend/tests/increment_001.phpt b/Zend/tests/increment_001.phpt
new file mode 100644
index 0000000000..06b09d0a17
--- /dev/null
+++ b/Zend/tests/increment_001.phpt
@@ -0,0 +1,58 @@
+--TEST--
+incrementing different variables
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--FILE--
+<?php
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ array(),
+ PHP_INT_MAX,
+ (string)PHP_INT_MAX
+);
+
+foreach ($a as $var) {
+ $var++;
+ var_dump($var);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+}
+string(1) "1"
+int(2)
+float(3.5)
+int(1)
+string(6) "strinh"
+int(124)
+float(3.5)
+int(1)
+bool(true)
+bool(false)
+object(stdClass)#%d (0) {
+}
+array(0) {
+}
+float(2147483648)
+float(2147483648)
+Done