--- /dev/null
+--TEST--
+casting different variables to boolean
+--FILE--
+<?php
+
+$r = fopen(__FILE__, "r");
+
+class test {
+ function __toString() {
+ return "10";
+ }
+}
+
+$o = new test;
+
+$vars = array(
+ "string",
+ "8754456",
+ "",
+ "\0",
+ 9876545,
+ 0.10,
+ array(),
+ array(1,2,3),
+ false,
+ true,
+ NULL,
+ $r,
+ $o
+);
+
+foreach ($vars as $var) {
+ $tmp = (bool)$var;
+ var_dump($tmp);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+bool(true)
+bool(true)
+bool(false)
+bool(true)
+bool(true)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(true)
+Done
--- /dev/null
+--TEST--
+casting different variables to double
+--FILE--
+<?php
+
+$r = fopen(__FILE__, "r");
+
+class test {
+ function __toString() {
+ return "10";
+ }
+}
+
+$o = new test;
+
+$vars = array(
+ "string",
+ "8754456",
+ "",
+ "\0",
+ 9876545,
+ 0.10,
+ array(),
+ array(1,2,3),
+ false,
+ true,
+ NULL,
+ $r,
+ $o
+);
+
+foreach ($vars as $var) {
+ $tmp = (double)$var;
+ var_dump($tmp);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+float(0)
+float(8754456)
+float(0)
+float(0)
+float(9876545)
+float(0.1)
+float(0)
+float(1)
+float(0)
+float(1)
+float(0)
+float(%d)
+
+Notice: Object of class test could not be converted to double in %s on line %d
+float(1)
+Done
--- /dev/null
+--TEST--
+casting different variables to integer
+--FILE--
+<?php
+
+$r = fopen(__FILE__, "r");
+
+class test {
+ function __toString() {
+ return "10";
+ }
+}
+
+$o = new test;
+
+$vars = array(
+ "string",
+ "8754456",
+ "",
+ "\0",
+ 9876545,
+ 0.10,
+ array(),
+ array(1,2,3),
+ false,
+ true,
+ NULL,
+ $r,
+ $o
+);
+
+foreach ($vars as $var) {
+ $tmp = (int)$var;
+ var_dump($tmp);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+int(0)
+int(8754456)
+int(0)
+int(0)
+int(9876545)
+int(0)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(%d)
+
+Notice: Object of class test could not be converted to int in %s on line %d
+int(1)
+Done
--- /dev/null
+--TEST--
+casting different variables to boolean using settype()
+--FILE--
+<?php
+
+$r = fopen(__FILE__, "r");
+
+class test {
+ function __toString() {
+ return "10";
+ }
+}
+
+$o = new test;
+
+$vars = array(
+ "string",
+ "8754456",
+ "",
+ "\0",
+ 9876545,
+ 0.10,
+ array(),
+ array(1,2,3),
+ false,
+ true,
+ NULL,
+ $r,
+ $o
+);
+
+foreach ($vars as $var) {
+ settype($var, "bool");
+ var_dump($var);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+bool(true)
+bool(true)
+bool(false)
+bool(true)
+bool(true)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(true)
+Done
--- /dev/null
+--TEST--
+casting different variables to double using settype()
+--FILE--
+<?php
+
+$r = fopen(__FILE__, "r");
+
+class test {
+ function __toString() {
+ return "10";
+ }
+}
+
+$o = new test;
+
+$vars = array(
+ "string",
+ "8754456",
+ "",
+ "\0",
+ 9876545,
+ 0.10,
+ array(),
+ array(1,2,3),
+ false,
+ true,
+ NULL,
+ $r,
+ $o
+);
+
+foreach ($vars as $var) {
+ settype($var, "double");
+ var_dump($var);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+float(0)
+float(8754456)
+float(0)
+float(0)
+float(9876545)
+float(0.1)
+float(0)
+float(1)
+float(0)
+float(1)
+float(0)
+float(%d)
+
+Notice: Object of class test could not be converted to double in %s on line %d
+float(1)
+Done
--- /dev/null
+--TEST--
+casting different variables to integer using settype()
+--FILE--
+<?php
+
+$r = fopen(__FILE__, "r");
+
+class test {
+ function __toString() {
+ return "10";
+ }
+}
+
+$o = new test;
+
+$vars = array(
+ "string",
+ "8754456",
+ "",
+ "\0",
+ 9876545,
+ 0.10,
+ array(),
+ array(1,2,3),
+ false,
+ true,
+ NULL,
+ $r,
+ $o
+);
+
+foreach ($vars as $var) {
+ settype($var, "int");
+ var_dump($var);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+int(0)
+int(8754456)
+int(0)
+int(0)
+int(9876545)
+int(0)
+int(0)
+int(1)
+int(0)
+int(1)
+int(0)
+int(%d)
+
+Notice: Object of class test could not be converted to int in %s on line %d
+int(1)
+Done
--- /dev/null
+--TEST--
+casting different variables to null using settype()
+--FILE--
+<?php
+
+$r = fopen(__FILE__, "r");
+
+class test {
+ function __toString() {
+ return "10";
+ }
+}
+
+$o = new test;
+
+$vars = array(
+ "string",
+ "8754456",
+ "",
+ "\0",
+ 9876545,
+ 0.10,
+ array(),
+ array(1,2,3),
+ false,
+ true,
+ NULL,
+ $r,
+ $o
+);
+
+foreach ($vars as $var) {
+ settype($var, "null");
+ var_dump($var);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+Done