Fonction call_user_func_array()

Paramètres:
string $functionName
array $parameters

echo sprintf("Le calcul est %s * %s = %s", 1, 2, 3);

$format = "Le calcul est %s * %s = %s";
$args = array(1,2,3);
echo call_user_func_array('sprintf', array_merge(array($format), $args));

Appel d'une méthode statique de la classe parent

namespace some\name;

class ParentClass {
    public static function test($v)
    {
        echo $v;
    }
}

class ChildClass extends ParentClass
{
    public function f()
    {
        $a = [1, 2, 3];
        
        array_map([$this, 'test'], $a); // appel non statique $this->test()
        array_map([__CLASS__, 'test'], $a); // appel statique de \some\name\ChildClass:test()

        array_map('some\name\ParentClass::test', $a); // appel statique de \some\name\ParentClass:test()
        array_map([__CLASS__, 'parent::test'], $a); // appel statique de \some\name\ParentClass:test()
        array_map(['some\name\ParentClass, 'test'], $a); // appel statique de \some\name\ParentClass:test()
        array_map([__NAMESPACE__.'\\ParentClass', 'test'], $a); // appel statique de \some\name\ParentClass:test()
    }
}
$c = new ChildClass;
$c->f();