Avatar billede Xelot Nybegynder
21. oktober 2014 - 08:38 Der er 4 kommentarer

PHP Soap array som streng ?

Jeg forsøger at hente et bestemt linje nummer ud fra en ordre i vores regnskabs program via SOAP.

Jeg har linjenummeret gemt som en streng, og når jeg viser strengen som f.eks. echo $streng; - så kommer den frem med det rigtige nummer på skærmen.. så strengen indeholder altså et nummer.

Når jeg så vil kalde linjen frem fra regnskabs programmet via soap, så bruger jeg følgende.:

$client->OrderLine_SetQuantity(array('orderLineHandle'=>$find_linjer->OrderLineHandle[$linje], 'value' => 2))->OrderLine_SetQuantityResponse;

Her er problemet så..: Soap vil ikke acceptere at jeg bruger en streng som angivelse af arraynummeret..

Hvis jeg skriver OrderLineHandle[2] - så kommer linje 2 som den skal.
Men hvis jeg skriver OrderLineHandle[$streng] så får jeg fejl..

Er der nogen der kan hjælpe mig ?
Avatar billede Slater Ekspert
21. oktober 2014 - 13:20 #1
Tjah, det burde jo være det samme i PHP om det er et tal i en streng eller et tal - med mindre koden et sted tjekker for datatype også. Skulle være mærkeligt, men er muligt. I så fald kan du jo typecaste den, f.eks. OrderLineHandle[(int)$streng]

Ellers prøv at var_dump($streng) eller evt. var_dump($streng == 2), bare for at være helt sikker på, at den indeholder hvad du tror.

Hvilken fejl får du?
Avatar billede Xelot Nybegynder
22. oktober 2014 - 08:02 #2
Hvis jeg laver en var_dump($streng), så får jeg korrekt feedback som f.eks.

int(1)
int(2)
int(3)
int(4)
..Osv

Jeg har prøvet at 'typecaste' den med OrderLineHandle[(int)$streng] det hjalp desværre ikke.

Findes der andre måder at indlæse data i et array, end via en streng ?
Avatar billede Slater Ekspert
23. oktober 2014 - 08:25 #3
Meget mærkeligt. Der er ingen som helst forskel for fortolkeren på

func(2);

og

$str = '2';
func((int)$str);

Jeg kan næsten ikke tro andet, end at det er noget kode vi ikke ser, der skaber problemet.
Avatar billede Xelot Nybegynder
08. december 2014 - 12:31 #4
Spørgsmålet forbliver uløst
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

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