3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { public $a; public function __construct(int $value) { $this->a = $value; } } class B { public $ar = array(); public function addValue(A $value) { $this->ar[] = $value; } public function print(){ var_dump($this->ar); } public function selectValue() { foreach($this->ar as &$value){ $value->a += 10; } } public function __clone(){ $this->ar = clone $this->ar; } } $one = new A(10); $two = new A(15); $b = new B; $b->addValue($one); $b->addValue($two); $b->print(); $c = new B; $c = $b->cl(); //$c = clone $b; $b->selectValue(); $c->print();
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
array(2) { [0]=> object(A)#1 (1) { ["a"]=> int(10) } [1]=> object(A)#2 (1) { ["a"]=> int(15) } } Fatal error: Uncaught Error: Call to undefined method B::cl() in /in/dUWWD:49 Stack trace: #0 {main} thrown in /in/dUWWD on line 49
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 array(2) { [0]=> object(A)#1 (1) { ["a"]=> int(10) } [1]=> object(A)#2 (1) { ["a"]=> int(15) } } Fatal error: Uncaught Error: Call to undefined method B::cl() in /in/dUWWD:49 Stack trace: #0 {main} thrown in /in/dUWWD on line 49
Process exited with code 255.
Output for 5.6.38 - 5.6.40
Parse error: syntax error, unexpected 'print' (T_PRINT), expecting identifier (T_STRING) in /in/dUWWD on line 22
Process exited with code 255.

preferences:
211.02 ms | 401 KiB | 250 Q