/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
kald til array via variabel
Fra : Martin Kaltoft


Dato : 11-07-01 22:38

Hej

Jeg har et lille problem som jeg ikke lige umiddelbart kan se løsningen på.

lad os tage udgangspunkt i følgende kodeeksempel:

$string = "test";
$test = array(foo => "bar", flaf => "flif");
$arrelement = $string['flaf'];

Her skulle $arrelement så gerne indeholde "flif", men da en string også er
et array ($string[0] er f.eks == "t" (første bogstav i $string) ) virker
ovenstående syntaks ikke. Hvordan kan jeg ellers opnå det ønskede resultat ?

--
Med venlig hilsen

Martin

 
 
Flemming Joensson (11-07-2001)
Kommentar
Fra : Flemming Joensson


Dato : 11-07-01 23:23

> $string = "test";
> $test = array(foo => "bar", flaf => "flif");
> $arrelement = $string['flaf'];
>
> Her skulle $arrelement så gerne indeholde "flif", men da en string også er
> et array ($string[0] er f.eks == "t" (første bogstav i $string) ) virker
> ovenstående syntaks ikke. Hvordan kan jeg ellers opnå det ønskede resultat
?

Uden at have prøvet det, så vil jeg mene at du skal skrive
$test = array("foo" => "bar", "flaf" => "flif");

Altså sætte "gåseøjne" rundt om dit indeks med mindre det er et tal
Se evt på www.php.net under array

mvh
Flemming




Hroi Sigurdsson (11-07-2001)
Kommentar
Fra : Hroi Sigurdsson


Dato : 11-07-01 23:27

Martin Kaltoft wrote:

> $string = "test";
> $test = array(foo => "bar", flaf => "flif");
> $arrelement = $string['flaf'];
>
> Her skulle $arrelement så gerne indeholde "flif", men da en string også er
> et array ($string[0] er f.eks == "t" (første bogstav i $string) ) virker
> ovenstående syntaks ikke. Hvordan kan jeg ellers opnå det ønskede resultat ?

Hvad er det ønskede resultat? Hvorfor regner du med at $string['noget']
skulle returnere noget som helst?
Mener du?:

$string = "test";
$test = array(foo => "bar", flaf => "flif");
$arr = &$$string;
$arrelement = $arr['flaf'];

(giver 'flif').

--
Hroi Sigurdsson
Fried ice cream is a reality! -- George Clinton

Martin Kaltoft (12-07-2001)
Kommentar
Fra : Martin Kaltoft


Dato : 12-07-01 10:42

> > Her skulle $arrelement så gerne indeholde "flif", men da en string også er
> > et array ($string[0] er f.eks == "t" (første bogstav i $string) ) virker
> > ovenstående syntaks ikke. Hvordan kan jeg ellers opnå det ønskede resultat ?
>
> Hvad er det ønskede resultat?

'flif', som jeg skrev.

> Hvorfor regner du med at $string['noget'] skulle returnere noget som helst?

Det gør jeg sådan set heller ikke, det var bare for at illustrere hvad jeg ville...

> Mener du?:
>
> $string = "test";
> $test = array(foo => "bar", flaf => "flif");
> $arr = &$$string;
> $arrelement = $arr['flaf'];
>
> (giver 'flif').

ja, damn, jeg havde prøvet både $$string og &$string.

Mange tak for hjælpen.

Per Thomsen (12-07-2001)
Kommentar
Fra : Per Thomsen


Dato : 12-07-01 10:40


"Martin Kaltoft" <martin@nitro.dk> skrev
> Hej
[snip]
> $string = "test";
> $test = array(foo => "bar", flaf => "flif");
> $arrelement = $string['flaf'];
>
> Her skulle $arrelement så gerne indeholde "flif", men da en string
også er
> et array ($string[0] er f.eks == "t" (første bogstav i $string) )
virker
> ovenstående syntaks ikke. Hvordan kan jeg ellers opnå det ønskede
resultat ?

Jeg tror nu ikke, at der er derfor det ikke virker.
Har du prøvet med
$arrelement = ${$string}['flaf']
Det giver så vidt jeg kan se det ønskede resultat.

Ref: http://www.php.net/manual/en/language.variables.variable.php


Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste