3v4l.org

run code in 500+ PHP versions simultaneously
<?php function method_a(&$links, ?bool $indexable) { $links[] = [ 'indexable === ' => as_string($indexable), // very long list... and: ...(null !== $indexable ? ['indexable' => $indexable] : []), ]; } function method_b(&$links, ?bool $indexable) { $link = [ 'indexable === ' => as_string($indexable), // very long list... and: ]; if (null !== $indexable) { $link['indexable'] = $indexable; } $links[] = $link; } function as_string($v) { if (null === $v) { return 'null'; } if (false === $v) { return 'false'; } if (true === $v) { return 'true'; } } $links = []; method_a($links, null); method_a($links, true); method_a($links, false); var_dump($links); $links = []; method_b($links, null); method_b($links, true); method_b($links, false); var_dump($links);
Output for 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array(3) { [0]=> array(1) { ["indexable === "]=> string(4) "null" } [1]=> array(2) { ["indexable === "]=> string(4) "true" ["indexable"]=> bool(true) } [2]=> array(2) { ["indexable === "]=> string(5) "false" ["indexable"]=> bool(false) } } array(3) { [0]=> array(1) { ["indexable === "]=> string(4) "null" } [1]=> array(2) { ["indexable === "]=> string(4) "true" ["indexable"]=> bool(true) } [2]=> array(2) { ["indexable === "]=> string(5) "false" ["indexable"]=> bool(false) } }
Output for 8.0.1 - 8.0.30
Fatal error: Uncaught Error: Cannot unpack array with string keys in /in/6lRha:6 Stack trace: #0 /in/6lRha(39): method_a(Array, true) #1 {main} thrown in /in/6lRha on line 6
Process exited with code 255.

preferences:
76.35 ms | 1175 KiB | 4 Q