3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php date_default_timezone_set('America/Los_Angeles'); class Test { public $previous, $next = NULL; public function __clone() { $this->previous != NULL ? $this->previous = clone $this->previous : $this->previous = NULL; $this->next != NULL ? $this->next = clone $this->next : $this->next = NULL; } public function __toString() { return '[' . ($this->previous != NULL ? '<' : '-') . ' ' . ($this->next != NULL ? '>' : '-') . ']'; } } // Create some test objects $a = new Test(); $b = new Test(); // Link them together $a->next =& $b; $b->previous =& $a; // Clone and print echo "a before cloning:\na: " . $a . "\n"; $b = clone $a; echo "These two should not look the same:\na: " . $a . "\nb: " . $clone . "\n"; // Expected result: // ---------------- // a before cloning: // a: [- >] // These two should not look the same: // a: [- >] // b: [- -] // // // Actual result: // -------------- // a before cloning: // a: [- >] // Segmentation fault
Output for 5.2.0 - 5.6.28, 7.0.0 - 7.1.0
a before cloning: a: [- >]
Process exited with code 139.
Output for hhvm-3.12.0
a before cloning: a: [- >] Assertion failure: /build/hhvm/src/hhvm-HHVM-3.12.0/hphp/runtime/base/runtime-error.cpp:48: void HPHP::raise_error(const string&): assertion `0' failed.
Process exited with code 134.
Output for hhvm-3.10.0
a before cloning: a: [- >] Fatal error: Stack overflow in /in/tP6ZK on line 7
Process exited with code 255.
Output for 5.1.1 - 5.1.6
a before cloning: a: Object id #1
Process exited with code 139.
Output for 5.1.0
Fatal error: fatal flex scanner internal error--end of buffer missed in /in/tP6ZK on line 39
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Fatal error: Call to undefined function date_default_timezone_set() in /in/tP6ZK on line 2
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/tP6ZK on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/tP6ZK on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/tP6ZK on line 4
Process exited with code 255.