3v4l.org

run code in 300+ PHP versions simultaneously
<?php function createClass(array $val, array $vals) { return new class($val, $vals) { public function __construct(public array $val, public array $vals) { } }; } $x = []; $y = &$x[]; $y = []; $z = createClass($y, $x); $y[] = 'a'; var_dump($x, $z->val, $z->vals);

preferences:
27.3 ms | 402 KiB | 5 Q