Am Samstag, 16. Juli 2005 12:53 schrieb Ernst May-Jung: > Am Samstag 16 Juli 2005 00:00 schrieb Silvério Santos: > > ich habe ein array of strings, die ich als Parameter einer Funktion > > übergeben möchte. Die Funktion hält jedoch das array für einen einzelnen > > Parameter. > > Was meinst Du mit Deinem letzen Satz? Also, Beispiel: $parameterListe = ARRAY( ARRAY("Parameter1", "Parameter2", "Parameter3"); ARRAY("Parameter1a", "Parameter2a", "Parameter3a"); )
foreach ($parameterListe AS $parameter) { <hier die Lösung> externe_Funktion(<hier die Lösung>); } Da die aufgerufene Funktion nicht von mir ist, ist die naheliegendste Lösung, eine interne Verarbeitung zu ändern, nicht machbar. Die Lösung muss also für den Aufruf funktionieren. > > Was kann ich tun, um der Funktion die im Array enthaltenen Strings als > > einzelne Parameter zu übergeben? > > function blafasel( $a=FALSE, $b=FALSE, $C=FALSE, .... ) > Nicht sehr elegant. Da finde ich Tobias Vorschlag, das Array erst in der > Funktion auseinander zu nehmen eleganter. > > > Etwas komplizierter: wie kann bei einer evtl. Lösung die Anzahl der > > Parameter variieren? > > Am leichtesten, indem Du alle Parameter in ein Array packst. Wenn Deine > Anzahl Parameter endlich und vorhersehbar ist kannst Du obige Lösung > verwenden. Jedem nicht übergebenen Parameter wird so automatisch FALSE > zugewiesen. Die Funktionen verwenden bei optionalen Parametern das Konstrukt oben in der Funktions-Deklaration. > Kann es sein, dass Du so etwas brauchst?: > int array_walk ( array array, callback function [, mixed userdata] ) Leider nicht, da ich nicht das Array rekursiv verarbeiten will, sondern den Inhalt des Arrays für einen einzelnen Funktionsaufruf verwenden muss. > Gruß > Ernst Trotzdem danke Silvério -- ---------------------------------------------------------------------------- PUG - Penguin User Group Wiesbaden - http://www.pug.org