--TEST-- ZE2 __toString() --SKIPIF-- --FILE-- __toString()] = "ERROR"; echo $ar[$o]; echo "====test8====\n"; var_dump(trim($o)); var_dump(trim((string)$o)); echo "====test9====\n"; echo sprintf("%s", $o); ?> ====DONE!==== --EXPECTF-- ====test1==== test1 Object ( ) string(1%d) "Object id #%d" object(test1)#%d (%d) { } ====test2==== test2 Object ( ) test2::__toString() Converted object(test2)#%d (%d) { } ====test3==== test2::__toString() Converted ====test4==== string:Object id #%d====test5==== 1Object id #%d====test6==== Object id #%dObject id #2====test7==== test2::__toString() Warning: Illegal offset type in %stostring.php on line %d ====test8==== Notice: Object of class test2 to string conversion in %stostring.php on line %d string(6) "Object" string(1%d) "Object id #%d" ====test9==== Object id #%d====DONE!====