2017-01-28 3 views
4

Ich habe ein varargs Typ Methode bekam definiert in PHP 7Pass Array-Funktion in PHP varargs

function selectAll(string $sql, ...$params) { } 

Das Problem in Ich renne ist, dass manchmal möchte ich diese Methode aufrufen, wenn ich bereits eine haben Array, und ich kann nicht direkt eine Array-Variable an diese Methode übergeben.

Antwort

6

Verwenden Splat-Operator die Array-Argumente auspacken genau wie Sie in der Funktion verwendet:

selectAll($str, ...$arr); 

So wie folgt aus:

function selectAll(string $sql, ...$params) { 
    print_r(func_get_args()); 
} 

$str = "This is a string"; 
$arr = ["First Element", "Second Element", 3]; 

selectAll($str, ...$arr); 

Drucke:

Array 
(
    [0] => This is a string 
    [1] => First Element 
    [2] => Second Element 
    [3] => 3 
) 

Eval dafür.


Wenn Sie nicht Splat-Operator in Argumente verwenden, werden Sie am like this

Ende