summaryrefslogtreecommitdiff
path: root/Zend/tests/compare_002.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/tests/compare_002.phpt')
-rw-r--r--Zend/tests/compare_002.phpt341
1 files changed, 341 insertions, 0 deletions
diff --git a/Zend/tests/compare_002.phpt b/Zend/tests/compare_002.phpt
new file mode 100644
index 0000000..5e5009c
--- /dev/null
+++ b/Zend/tests/compare_002.phpt
@@ -0,0 +1,341 @@
+--TEST--
+comparing different variables for identity
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--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