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.27, 8.4.12 - 8.4.14
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.2.0 - 8.2.29, 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:
55.7 ms | 408 KiB | 5 Q