3v4l.org

run code in 300+ PHP versions simultaneously
<?php function string_key_iterator() { yield '42' => 'magic'; } function magical_varargs(...$whatever) { return $whatever; } echo "Normal:\n"; $normal_array = iterator_to_array(string_key_iterator()); var_dump( isset($normal_array[42]), isset($normal_array["42"]), array_keys($normal_array) ); echo "\nWeird and broken:\n"; $freaky_array = magical_varargs(...string_key_iterator()); var_dump( isset($freaky_array[42]), isset($freaky_array["42"]), array_keys($freaky_array) );
Output for 8.3.25 - 8.3.30, 8.4.12 - 8.4.18, 8.5.0 - 8.5.3
Normal: bool(true) bool(true) array(1) { [0]=> int(42) } Weird and broken: bool(false) bool(false) array(1) { [0]=> int(0) }
Output for 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.24, 8.4.1 - 8.4.11
Normal: bool(true) bool(true) array(1) { [0]=> int(42) } Weird and broken: bool(false) bool(false) array(1) { [0]=> string(2) "42" }

preferences:
62.97 ms | 858 KiB | 4 Q