Page 1 of 1

Wie teilt man die variable Anzahl von Funktionsargumenten in verschiedene Gruppen auf?

Posted: 27 Dec 2024, 08:23
by Guest
Ich versuche so etwas wie:

Code: Select all

function get_data($query, $inputParams, &...$vars) {
global $conn;

$stmt = $conn->prepare($query);
if(!$stmt) {
die("prep of query '" . $query . "' failed");
}
$stmt->bind_param($inputParams, ...$vars[0-strlen($inputParams)]);
$stmt->execute();
$stmt->bind_result(...$vars[strlen($inputParams)+1]);
$stmt->fetch();
$stmt->close();
}
Was wie folgt verwendet werden würde:

Code: Select all

get_data("SELECT x FROM table WHERE id=? AND y=?", "is", 839, $stringVariable, $outputVariable);
Wobei das „ist“ besagt, dass die Variablen ein int und ein String sind und dass, weil es zwei davon gibt, die ersten beiden Elemente gemeint sind der variablen Anzahl von Argumenten sind die Ersatzparameter.
the ...$vars[0-strlen($inputParams)] ist der Bereich der variablen Anzahl von Parametern von Null bis zur Anzahl der Variablen aus dem $inputParams Länge, und ebenso mit dem ...$vars[strlen($inputParams)+1], der ab dieser Position versucht, alles zu sein.