Lav string om til array i php

Tags:    php array

Hej..

Nogen der kan forklare mig hvorfor man ikke kan gøre sådan her;
Fold kodeboks ind/udPHP kode 




8 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
$string = "test"; er en variabel af typen string med værdien test. Den tror jeg du er med på.

echo $string[0]; Syntaksen her kan betyde to ting. Første mulighed er at udskrive første værdi i arrayet string - eller at udskrive første char af strengen $string.

$string[] = 'something'; betyder, sæt værdien 'something' ind på næste plads i arrayet $string. Det giver en fejl, hvis $string ikke er et array.

Din $string i eksemplet // : ( er af typen string, og derfor kan du ikke bruge [] operatoren på den. Det kan du i // : ) eksemplet, fordi du har sat den til at være et tomt array.

At dit sidste eksempel virker, overrasker mig egentlig lidt. Og den virker heller ikke som man forventer. Værdien af $string er "test" - så det svarer til at du bare havde skrevet $string = $string...

Hvad er det du prøver at gøre? :-)

Hvis du bare leder efter en optimering af dit andet eksempel, så kan det gøres sådan her:
Fold kodeboks ind/udPHP kode 


Det kan du evt pakke ind i en funktion, så du ikke behøver bekymre dig over om det er første el. anden gang du kører koden.



Indlæg senest redigeret d. 05.03.2012 13:27 af Bruger #17015
har testet lidt vidre og har fået det til at virke ved at sende en key med ind i arrayet, men ønsker stadig en forklaring hvis der er nogen der kan give mig en, tak :)

Fold kodeboks ind/udPHP kode 




Okay, undret mig bare nu da PHP ik er super strict med datatypes.

Ønsker det pga jeg har en function som skal modtage et array med emails, emh du kan nok bedre se hvorfor jeg ønsker det hvis jeg poster den noget af den function.
Fold kodeboks ind/udPHP kode 


edit: ja, blev bare lidt nysgerie hvorfor det ikke virket på den anden måde, ik et problem som sådan =)



Indlæg senest redigeret d. 05.03.2012 13:42 af Bruger #3427
Fejlen opstår fordi du forsøger at bruge en array operator på en streng. Det kan man ikke - uanset om man er strict med datatyper eller ej. :-) Men det er lidt forvirrende ja.

Men virker det ikke som det skal nu? :-)



Fejlen opstår fordi du forsøger at bruge en array operator på en streng. Det kan man ikke - uanset om man er strict med datatyper eller ej. :-) Men det er lidt forvirrende ja.

Men virker det ikke som det skal nu? :-)


jo jo, det virker helt fint, valgte bare at bruger $xx = array($xx) istedet.
forstod bare ikke hvorfor den ikke overskrev min $string istedet.



hvad med det her.. ville det ikke virke?

Fold kodeboks ind/udPHP kode 


edit: øv, det må man åbenbart ikke :(



Indlæg senest redigeret d. 05.03.2012 13:56 af Bruger #17081
Min erfaring siger mig at den tomme array index operator kun virker som array_add hvis den bruges på et array der allerede eksisterer. Altså, den kan ikke initialisere et array selv - og ikke overskrive andre variable.



Min erfaring siger mig at den tomme array index operator kun virker som array_add hvis den bruges på et array der allerede eksisterer. Altså, den kan ikke initialisere et array selv - og ikke overskrive andre variable.


også min erfaring efter i dag :)



t