mirror of
https://github.com/igorsimdyanov/php8.git
synced 2025-08-01 16:49:53 +00:00
22 lines
406 B
PHP
22 lines
406 B
PHP
<?php
|
|
function collect($arr, $callback)
|
|
{
|
|
foreach ($arr as $value) {
|
|
yield $callback($value);
|
|
}
|
|
}
|
|
|
|
function select($arr, $callback)
|
|
{
|
|
foreach ($arr as $value) {
|
|
if ($callback($value)) yield $value;
|
|
}
|
|
}
|
|
|
|
$arr = [1, 2, 3, 4, 5, 6];
|
|
$select = select($arr, fn($e) => $e % 2 == 0);
|
|
$collect = collect($select, fn($e) => $e * $e);
|
|
foreach ($collect as $val) {
|
|
echo "$val ";
|
|
}
|