<?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);
- Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- array(1) {
[0]=>
&array(1) {
[0]=>
string(1) "a"
}
}
array(0) {
}
array(1) {
[0]=>
&array(1) {
[0]=>
string(1) "a"
}
}
preferences:
81.6 ms | 407 KiB | 5 Q