Avatar billede askovdk Nybegynder
15. januar 2011 - 22:12 Der er 6 kommentarer og
1 løsning

Variabel i array virker ikke

$headerbody = array('authentication'=>array('customerNo'=>$UserID,'password'=>$Pwd));

Ovenstående virker fint :-)


$USER = "'customerNo'=>$UserID,";

$headerbody = array('authentication'=>array($USER'password'=>$Pwd));



Dette virker ikke, kan man få det til at virke på nogen måde ?
Avatar billede Fnugus Nybegynder
15. januar 2011 - 22:27 #1
Prøv med:

$USER = array('customerNo'=>$UserID);

$headerbody = array('authentication'=> $USER);
Avatar billede askovdk Nybegynder
15. januar 2011 - 22:33 #2
Det skal helst virke som mit eksempel, det dur ikke at tage hele arrayet ud...
Avatar billede erikjacobsen Ekspert
15. januar 2011 - 22:51 #3
Konstruktionen med => er en del af PHP-sproget, og kan ikke bare puttes ind i en streng. Jeg tror ikke på at du har brug for en løsning på den måde, så hvad er det egentlig du skal bruge det til?
Avatar billede askovdk Nybegynder
15. januar 2011 - 23:02 #4
Der er fordi at i nogle tilfælde skal kun password optræde, og ikke customerNo

så derfor skulle den kun indsætte $USER hvis den skulle bruges...

Men så må jeg lave det sådan her:

if($bruger == 'ok'){

$headerbody = array('authentication'=>array('customerNo'=>$UserID,'password'=>$Pwd));

} else {

$headerbody = array('authentication'=>array('password'=>$Pwd));


}
Avatar billede tjens Nybegynder
15. januar 2011 - 23:30 #5
Du bryder syntaksen for en array, fordi $USER er en string, og ikke et key/value pair, som erikjacobsen nævner.

Men du kan lave hele linien til en string, og så udnytte eval() til at udføre statementet:

    eval("\$myArr2 = array('authentication'=>array(".$USER."'password'=>$Pwd) );");

Avatar billede repox Seniormester
16. januar 2011 - 13:15 #6
Mmm... eval - roden til alt ondt... :)
Avatar billede askovdk Nybegynder
18. januar 2011 - 11:15 #7
Erik fik svar på mit spørgsmål, og har brugt if / else...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester