Wie konvertiere ich ein Array in unabhängige Funktionsparameter?
P粉391677921
P粉391677921 2023-07-22 23:17:01
0
2
540

Ich möchte die Werte im Array als unabhängige Parameter in einem Funktionsaufruf verwenden. Beispiel:

// Values "a" and "b"
$arr = array("alpha", "beta");
// ... are to be inserted as $a and $b.
my_func($a, $b)
function my_func($a,$b=NULL) { echo "{$a} - {$b}"; }

Die Anzahl der Werte im Array ist unbekannt.

Mögliche Lösungen sind :

  1. Ich kann das Array als einzelnen Parameter übergeben, würde es aber lieber als mehrere unabhängige Funktionsparameter übergeben.

  2. 将数组使用implode()函数连接成逗号分隔的字符串。(失败,因为它只是一个字符串。)

  3. Verwenden Sie einen einzelnen Parameter:

    $str = "'a','b'";
    function goat($str);  // $str needs to be parsed as two independent values/variables.
  4. Verwenden Sie eval()?

  5. Array durchqueren?

Vorschläge willkommen. Danke.

P粉391677921
P粉391677921

Antworte allen(2)
P粉071602406

如果我理解你的意思正确的话:

$arr = array("alpha", "beta");
call_user_func_array('my_func', $arr);
P粉063039990

这个问题相当古老,但是在PHP 5.6+版本中有更直接的支持。

http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list.new

$arr = array("alpha", "beta");
my_func(...$arr);
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage