Gå til innhold

[løst] Utfordring: flere metodeparametre i en streng


Anbefalte innlegg

Heisann!

Jeg har et problem (obviously). Som er som følger.

Jeg har en streng s="arg1,arg2,arg3,...."

Jeg har en metode m(), som tar inn et fritt antall parametre. Problemet er at m(s); oppfattes av metoden som ett parameter. Oppbygningen av strengen kan ikke endres. Hvordan kan jeg preprossessere strengen for å mate m() med et fritt antall parametre? Husk at antall parametre varierer..

Endret av Mads-b
Lenke til kommentar
Videoannonse
Annonse

Tror ikke du forstår problemet. Det er ikke SÅ low-level. Et tross alt noen tusen kodelinjer inne i et CMS.

 

Eksempel:

Jeg har fått tak i strengen s="'n',1234567"

 

Jeg vil kjøre den gjennom en metode, i dette tilfellet, date.

Skriver vi date('n',1234567); fungerer alt flawless.

Skriver vi date(s); tolker den s som en streng (naturligvis).

 

Jeg kan gjøre:

a=explode(',',s);
date(s[0],s[1]);

Fungerer også perfekt. Men i mitt tilfelle varierer antall parametre! (Det er ikke alltid date() det er snakk om. Funksjonen som brukes varierer også) Det er stygt å hardkode inn hvert tilfelle.

 

Det optimale hadde vært om jeg kunne sendt parametrene som en array, men jeg skal sende de til ferdiglagede PHP-funksjoner.

Endret av Mads-b
Lenke til kommentar

Ah! Nevermind! Løste problemet lenger opp i koden.

 

brukte call_user_func_array i stedet for call_user_func. Da kan jeg passe argumentene som array!

 

Ja, jeg er klar over at dette er en enorm sikkerhetsrisiko hvis brukt feil..

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...