Autor |
Beitrag |
Heiko
![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. half ontopic star](./graphics/ranks/star_onofftopic.png)
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Do 14.05.09 12:31
Hallo ihr,
wie schreibt man in php eine Funktion, die beliebig viele Argumente besitzt? Ich wusste mal wie das geht, weiß es aber nicht mehr.
Und zwar will ich folgendes machen (in der Art):
C#-Quelltext 1: 2: 3: 4: 5:
| private function log($logCodeStr, $param1, $param2, ...){ ... sprintf($MyArray[$logCodeStr], , $param1, $param2, ...); ... } |
Hat einer eine Idee wie das ging?
Grüße
Heiko
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 14.05.09 13:07
Meinst Du so etwas?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| function TestFunc(const Args: array of const): Boolean; begin Result := true; end;
procedure TForm1.ButtonTestClick(Sender: TObject); begin if TestFunc(['Bla','Blubb',123,42,34.5]) then ShowMessage('Jawollja'); end; |
|
|
Timosch
![Timosch hat insgesamt 62.7% On-Topic und 37.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Timosch hat insgesamt 62.7% On-Topic und 37.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Timosch hat insgesamt 62.7% On-Topic und 37.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Timosch hat insgesamt 62.7% On-Topic und 37.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Timosch hat insgesamt 62.7% On-Topic und 37.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Timosch hat insgesamt 62.7% On-Topic und 37.3% Off-Topic Beiträge geschrieben. offtopic star](./graphics/ranks/star_offtopic_full.png) ![Timosch hat insgesamt 62.7% On-Topic und 37.3% Off-Topic Beiträge geschrieben. offtopic star](./graphics/ranks/star_offtopic_full.png)
Beiträge: 1314
Debian Squeeze, Win 7 Prof.
D7 Pers
|
Verfasst: Do 14.05.09 13:39
_________________ If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
|
|
jaenicke
![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 19277
Erhaltene Danke: 1741
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 14.05.09 14:42
Deklariere einfach die Funktion ohne Parameter und frage dann die übergebenen Parameter mit func_num_args und func_get_arg oder func_get_args ab.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 14.05.09 16:03
![:oops:](images/smiles/icon_redface.gif) , ich hatte tatsächlich gelesen "wie in PHP".
|
|
Heiko ![Threadstarter Threadstarter](./graphics/viewtopic/threadstarter.png)
![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. half ontopic star](./graphics/ranks/star_onofftopic.png)
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Do 14.05.09 16:24
DeddyH hat folgendes geschrieben : | , ich hatte tatsächlich gelesen "wie in PHP". |
Nicht so schlimm. In einem Delphi-Forum sind PHP-Fragen doch nicht altäglich ![;)](images/smiles/icon_wink.gif) .
@jaenicke: Genau die waren es. Ich teste nacher/später mal aus, ob die auch funktionieren, wenn ich einen Parameter fest vorgebe und nur die restlichen Optional sind - oder ob die Funktion immer leer sein muss.
Eine Frage ist dennoch offen.über die func_*-Funktionen bekomme ich ja die Parameter üergeben - nur wie übergebe ich die mit einmal an sprintf? (Wenn ich nachher mal zeit habe, probiere ich einfach das als array zu übergebn. Steht ja in der BEschreibung "mix" da - mnur leider ohne verhaltenserklärung)
|
|
jaenicke
![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 19277
Erhaltene Danke: 1741
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 14.05.09 16:31
Heiko hat folgendes geschrieben : | Eine Frage ist dennoch offen.über die func_*-Funktionen bekomme ich ja die Parameter üergeben - nur wie übergebe ich die mit einmal an sprintf? (Wenn ich nachher mal zeit habe, probiere ich einfach das als array zu übergebn. Steht ja in der BEschreibung "mix" da - mnur leider ohne verhaltenserklärung) |
Fast, die Funktion heißt vsprintf:
www.php.net/manual/d...unction.vsprintf.php
sprintf erwartet mehrere Parameter, mit v am Anfang ein Array wie gewünscht.
Und dann gibts da auch noch vprintf, das das Array direkt ausgibt.
|
|
Heiko ![Threadstarter Threadstarter](./graphics/viewtopic/threadstarter.png)
![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Heiko hat insgesamt 78.9% On-Topic und 21.1% Off-Topic Beiträge geschrieben. half ontopic star](./graphics/ranks/star_onofftopic.png)
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Do 14.05.09 16:35
Suppi Danke ![:beer:](images/smiles/icon_beerchug.gif) Da kann ich ja langsam wieder weiterarbeiten.
Die Frage wäre somit geklärt - und meinem altem Gedächtnis mal wieder auf die Sprünge geholfen ![;)](images/smiles/icon_wink.gif) .
|
|