fork download
  1. <?php
  2.  
  3. function O($f, $g) {
  4. return function () use ($f, $g) {
  5. $args = func_get_args();
  6. return $f(call_user_func_array($g, $args));
  7. };
  8. }
  9.  
  10. function Foo($v) {
  11. echo "foo(int v = $v)\n";
  12. return $v + 1;
  13. }
  14.  
  15. function Bar($v) {
  16. echo "bar(int v = $v)\n";
  17. return $v + 1;
  18. }
  19.  
  20. $res = O('Foo', 'Bar')(1);
  21. echo "res = $res\n";
Success #stdin #stdout 0s 82560KB
stdin
Standard input is empty
stdout
bar(int v = 1)
foo(int v = 2)
res = 3