3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function machine_forget(&$data) { $data &= null; } echo "normal\n"; $answer = 42; var_dump((string)$answer); machine_forget($answer); var_dump((string)$answer); echo "\n"; echo "magic\n"; // shhh no spoilers eval(base64_decode('CmNsYXNzIHpvbWJpZQp7CiAgICBwcm90ZWN0ZWQgJHZhbDsKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdmFsKQogICAgewogICAgICAgICR0aGlzLT52YWwgPSAkdmFsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2Rlc3RydWN0KCkKICAgIHsKICAgICAgICAkdGhpcy0+dmVzc2VsID0gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dmFsOwogICAgfQp9CgokYW5zd2VyID0gbmV3IHpvbWJpZSgiNDIiKTsKJGFuc3dlci0+dmVzc2VsID0gJiRhbnN3ZXI7')); var_dump((string)$answer); machine_forget($answer); var_dump((string)$answer); // DID NOT FORGET echo "\n"; echo "normal again\n"; $answer = 42; var_dump((string)$answer); machine_forget($answer); var_dump((string)$answer); // FORGOT
based on D2hnv
Output for 5.2.0 - 7.1.0
normal string(2) "42" string(1) "0" magic string(2) "42" Notice: Object of class zombie could not be converted to int in /in/CC1fQ on line 4 string(1) "0" normal again string(2) "42" string(1) "0"
Output for 5.1.1 - 5.1.6
normal string(2) "42" string(1) "0" magic string(12) "Object id #1" Notice: Object of class zombie could not be converted to int in /in/CC1fQ on line 4 string(1) "0" normal again string(2) "42" string(1) "0"
Output for 5.1.0
Fatal error: fatal flex scanner internal error--end of buffer missed in /in/CC1fQ on line 30
Process exited with code 255.
Output for 5.0.5
normal string(2) "42" string(1) "0" magic string(12) "Object id #1" string(1) "0" normal again string(2) "42" string(1) "0"
Output for 5.0.0 - 5.0.4
normal string(2) "42" string(1) "0" magic string(12) "Object id #1" string(1) "0" normal again string(2) "42" string(1) "0"
Process exited with code 139.
Output for 4.4.2 - 4.4.9
normal string(2) "42" string(1) "0" magic Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/CC1fQ(17) : eval()'d code on line 4 string(1) "0" string(1) "0" normal again string(2) "42" string(1) "0"
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
normal string(2) "42" string(1) "0" magic Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/CC1fQ(17) : eval()'d code on line 4 string(1) "0" string(1) "0" normal again string(2) "42" string(1) "0"
Process exited with code 255.
Output for 4.3.2 - 4.3.4
normal string(2) "42" string(1) "0" magic Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/CC1fQ(17) : eval()'d code on line 4 string(1) "0" string(1) "0" normal again string(2) "42" string(1) "0"
Process exited with code 255.