fork download
  1. <?php
  2.  
  3. $arr2 = array(1,2,3,4);
  4.  
  5. function sum($carry, $item)
  6. {
  7. $carry += $item;
  8. return $carry;
  9. }
  10.  
  11. function sub($carry, $item)
  12. {
  13. $carry -= $item;
  14. return $carry;
  15. }
  16.  
  17. function foo2($mass, $func){
  18. $res = array_reduce($mass, $func, $mass[0]);
  19.  
  20. return call_user_func($func, $res, -$mass[0]);
  21. };
  22.  
  23. echo foo2($arr2, "sub");
  24. echo "\n";
  25. echo foo2($arr2, "sum");
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
-8
10