1--TEST-- 2casting different variables to integer 3--FILE-- 4<?php 5 6$r = fopen(__FILE__, "r"); 7 8class test { 9 function __toString() { 10 return "10"; 11 } 12} 13 14$o = new test; 15 16$vars = array( 17 "string", 18 "8754456", 19 "", 20 "\0", 21 9876545, 22 0.10, 23 array(), 24 array(1,2,3), 25 false, 26 true, 27 NULL, 28 $r, 29 $o 30); 31 32foreach ($vars as $var) { 33 $tmp = (int)$var; 34 var_dump($tmp); 35} 36 37echo "Done\n"; 38?> 39--EXPECTF-- 40int(0) 41int(8754456) 42int(0) 43int(0) 44int(9876545) 45int(0) 46int(0) 47int(1) 48int(0) 49int(1) 50int(0) 51int(%d) 52 53Warning: Object of class test could not be converted to int in %s on line %d 54int(1) 55Done 56