News for hackers. Stuff that matters.
Re:PHP Pipes in 156 Bytes by mkdirp on Thursday March 03, 2022 @10:59AM (#30542651)
That's what I was wondering too, especially considering there is a helper function that just wraps it. Seems rather unnecessary.

   <?php
   
   function pipe(...$args) {
     // Retrive first argument as initial value
     $value = array_shift($args);
   
     // Call the functions passing $value and assign its return
     foreach($args as $func) $value = $func($value);
   
     // Return computed value
     return $value;
   }
   
   echo pipe("10 WAYS to EAT more HEALTHY", 
     fn($s) => strtolower($s), 
     fn($s) => str_replace(" ", "-", $s)
   );
Works just as well.
Re:PHP Pipes in 156 Bytes by zowanet on Thursday March 03, 2022 @11:04AM (#30542735)
Passing the first argument as part of the variadic array isn't necessary.

Here's my version in only 66 bytes, what do I win? ;)

  <?php function pipe($v,...$p){foreach($p as$f)$v=$f($v);return$v;}
Re:PHP Pipes in 156 Bytes by kuroguro on Thursday March 03, 2022 @11:37AM (#30543205)
64! (if you don't mind calling a variable).

    <?php $pipe=fn($v,...$p)=>array_reduce($p,fn($a,$f)=>$f($a),$v);
Re:PHP Pipes in 156 Bytes by mkdirp on Thursday March 03, 2022 @07:03PM (#30548795)
I guess I was just removing the need for an unnecessary class, but that's fair.