<?php
declare(strict_types=1);
$processor = compose(
htmlentities(...),
str_split(...),
fn ($x) => array_map(strtoupper(...), $x),
fn ($x) => array_filter($x, fn ($v) => $v != 'O'),
);
$data = "Hello World!";
var_dump(
$data,
$processor($data),
);
// polyfill
function compose(...$calls): Closure
{
$next = fn ($data) => $data;
foreach ($calls as $prev) {
$next = fn ($data) => $prev($next($data));
}
return $next;
}
- Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- string(12) "Hello World!"
array(10) {
[0]=>
string(1) "H"
[1]=>
string(1) "E"
[2]=>
string(1) "L"
[3]=>
string(1) "L"
[5]=>
string(1) " "
[6]=>
string(1) "W"
[8]=>
string(1) "R"
[9]=>
string(1) "L"
[10]=>
string(1) "D"
[11]=>
string(1) "!"
}
preferences:
48.05 ms | 407 KiB | 5 Q