ID: 33999 Updated by: [EMAIL PROTECTED] Reported By: crywolf at kyndimarion dot net -Status: Open +Status: Assigned Bug Type: Class/Object related Operating System: * PHP Version: 5CVS-2005-08-05 -Assigned To: +Assigned To: dmitry New Comment:
Dmitry, I guess we need to return at least objects index in this case. Or maybe use the same way we use when compatibility_mode is on. What do you think? Previous Comments: ------------------------------------------------------------------------ [2005-08-04 23:49:03] crywolf at kyndimarion dot net Description: ------------ When attempting to cast an object to an int, it remains untouched. No warnings or errors are displayed. The results are the same for (int), intval(), and settype(). float, bool, string, and array all seem to work correctly. I get the same results in both 5.0.3 and 5.1.0b3. In 4.3.11, an object can be cast to int. Reproduce code: --------------- <?php error_reporting(E_ALL); class Foo { var $bar = "bat"; } $foo = new Foo; var_dump($foo); $bar = (int)$foo; var_dump($bar); $baz = (float)$foo; var_dump($baz); ?> Expected result: ---------------- object(Foo)#1 (1) { ["bar"]=> string(3) "bat" } int(1) float(1) Actual result: -------------- object(Foo)#1 (1) { ["bar"]=> string(3) "bat" } object(Foo)#1 (1) { ["bar"]=> string(3) "bat" } Notice: Object of class Foo could not be converted to double in /home/crywolf/Test/cast_object.php on line 14 float(1) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=33999&edit=1