3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tests = [ [], // expect null [true, true], // expect true [false, false], // expect false [true, true, false, true], // expect null [false, false, true, false], // expect null ]; foreach ($tests as $bools) { echo "\n"; var_export( (function($bools) { foreach ($bools as $b) { $first ??= $b; if ($first !== $b) { return null; } } return $first ?? null; })($bools) ); }

preferences:
32.37 ms | 404 KiB | 5 Q