1unitedpower: probleme bei func_get_args

Beitrag lesen

   call_user_func_array('self::bar', func_get_args());

PHP 5.6 hat außerdem einen spread-Operator, womit man die obere Zeile leserlicher schreiben kann:

   self::bar(...func_get_args());

In Kombination mit dem rest-Operator für variadische Funktionen kann man MBs Problem-Programm sehr einfach lösen:

class args {
    static function bar(...$args) {
      print_r($args);
    }
    static function foo(...$args) {
      self::bar($args); // $args in bar = [['a','b']]
      self::bar(...$args); // $args in bar = ['a','b']
    }
}

args::foo('a', 'b');