3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $mas = (object) array('first'=>1, 'second'=>2); function f($m){ $m['first'] = 3; var_dump($m); return 'Done!'; } var_dump($mas); echo '============'; f($mas); echo ('----------'); var_dump($mas);
based on soMpI
Output for 7.0.0 - 7.1.0
object(stdClass)#1 (2) { ["first"]=> int(1) ["second"]=> int(2) } ============ Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /in/cjovi:6 Stack trace: #0 /in/cjovi(12): f(Object(stdClass)) #1 {main} thrown in /in/cjovi on line 6
Process exited with code 255.
Output for hhvm-3.10.0 - 3.12.0
object(stdClass)#1 (2) { ["first"]=> int(1) ["second"]=> int(2) } ============ Fatal error: Object does not implement ArrayAccess in /in/cjovi on line 6
Process exited with code 255.
Output for 5.0.0 - 5.6.28
object(stdClass)#1 (2) { ["first"]=> int(1) ["second"]=> int(2) } ============ Fatal error: Cannot use object of type stdClass as array in /in/cjovi on line 6
Process exited with code 255.
Output for 4.3.0 - 4.4.9
object(stdClass)(2) { ["first"]=> int(1) ["second"]=> int(2) } ============ Warning: Cannot use a scalar value as an array in /in/cjovi on line 6 object(stdClass)(2) { ["first"]=> int(1) ["second"]=> int(2) } ----------object(stdClass)(2) { ["first"]=> int(1) ["second"]=> int(2) }