PHP - 单个数组项作为方法的参数

Is it possible to easily pass the individual items of an array to a method as parameters?

Like so:

Edit2:

I changed my code to show 'a solution', the problem with this solution is that it is deprecated since PHP 4.1 and removed in PHP 7.

<?php
    $builder = new Builder;
    $params = array('This is number: ', 4);

    echo call_user_method_array('add', $builder, $params);

    class Builder {
        public function add($string1, $number1) {
            return $string1 . $number1;
        }
    }
?>

Edit:

I made a mistake by using a simple example. The reason I am wondering whether this is possible is not for a function that returns a string like that. It is to create a MVC-like framework. The solution has to be all-round.

If you want to stick with your general solution, just use the proper non-deprecated method:

echo call_user_func_array([$builder, 'add'], $params);

Reference: callable

Demo: https://3v4l.org/4VFi6

Use implode() method.

<?php
    $builder = new Builder;
    $params = array('This is number: ', 4);

    echo $builder->add($params); //returns 'This is number: 4'

    class Builder {
        public function add($params) {
            return implode('', $params);
        }
    }
?>

Output

This is number: 4 

Check Online Demo : Click Here

OR

Pass 2 parameters $params[0],$params[1].

<?php
    $builder = new Builder;
    $params = array('This is number: ', 4);

    echo $builder->add($params[0],$params[1]); //returns 'This is number: 4'

    class Builder {
        public function add($string1 ,$number1) {

            return $string1 . $number1;
        }
    }
?>

Online Demo : Click Here

Here is a more generic approach:

Just pass the array to the function and iterate through it by using a foreach-loop

<?php
    $builder = new Builder;
    $params = array('This is number: ', 4);

    $builder->add($params); //returns 'This is number: 4'

    class Builder {
        public function add($array) {
            foreach($array as $key => $value){
                //Do something with your values here if you want
                return $key . $value;
            }
        }
    }
?>