<?php
function foo (iterable $ints) {
$actualInts = [];
foreach ($ints as $int) {
$actualInts[] = (function (int $int): int {
return $int;
})($int);
}
return $actualInts;
}
function bar (iterable $ints) {
$actualInts = (function (int ... $ints): array {
return $ints;
})(... array_values(is_array($ints) ? $ints : iterator_to_array($ints)));
return $actualInts;
}
function getIt(): Generator {
yield '1';
yield 3;
}
var_dump(foo(['1', 3]));
var_dump(foo(getIt()));
var_dump(bar(['1', 3]));
var_dump(bar(getIt()));
- Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 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(2) {
[0]=>
int(1)
[1]=>
int(3)
}
array(2) {
[0]=>
int(1)
[1]=>
int(3)
}
array(2) {
[0]=>
int(1)
[1]=>
int(3)
}
array(2) {
[0]=>
int(1)
[1]=>
int(3)
}
preferences:
172.34 ms | 408 KiB | 5 Q