/ 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
eval problemer
Fra : Martin


Dato : 24-04-06 13:06

Et sødt lille problem jeg er kommet ind i.

Jeg vil MEGET gerne have $out til at returnere et array, istedet for en
streng.

<?php
$test = "array('item'=>'1')";
eval("\$out = \$test;");
var_dump($out);
// Outputs: string(18) "array('item'=>'1')"
?>

Jeg har efterhånden prøvet en hel masse med eval, man kan ikke rigtig få
den til at makke ret. Er der en der kan hjælpe? :)

 
 
Bertel Lund Hansen (24-04-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 24-04-06 14:27

Martin skrev:

> Jeg vil MEGET gerne have $out til at returnere et array, istedet for en
> streng.

Så fjern anførselstegnene omkring din 'tildeling' i 1. linje.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Peter Brodersen (24-04-2006)
Kommentar
Fra : Peter Brodersen


Dato : 24-04-06 16:36

On Mon, 24 Apr 2006 15:26:34 +0200, Bertel Lund Hansen
<nospamfilius@lundhansen.dk> wrote:

>> Jeg vil MEGET gerne have $out til at returnere et array, istedet for en
>> streng.
>
>Så fjern anførselstegnene omkring din 'tildeling' i 1. linje.

Jeg vil tro at problemstillingen er, at test-stringen ikke kommer
direkte fra ens kode, men er indlæst som en streng fra fx en database
eller anden ekstern kilde.

--
- Peter Brodersen
Find dig selv: http://map.ter.dk/

Peter Brodersen (24-04-2006)
Kommentar
Fra : Peter Brodersen


Dato : 24-04-06 16:20

On Mon, 24 Apr 2006 14:06:29 +0200, Martin <maa@scandesigns.dk> wrote:

><?php
>$test = "array('item'=>'1')";
>eval("\$out = \$test;");
>var_dump($out);
>// Outputs: string(18) "array('item'=>'1')"
>?>

Ret eval-linjen til:

eval("\$out = $test;");

Efter streng-interpoleringen indeholder eval-strengen så:

$out = array('item'=>'1');

... og det er det, du er interesseret i.

--
- Peter Brodersen
Find dig selv: http://map.ter.dk/

Martin (24-04-2006)
Kommentar
Fra : Martin


Dato : 24-04-06 20:04

Peter Brodersen wrote:
> On Mon, 24 Apr 2006 14:06:29 +0200, Martin <maa@scandesigns.dk> wrote:
>
>> <?php
>> $test = "array('item'=>'1')";
>> eval("\$out = \$test;");
>> var_dump($out);
>> // Outputs: string(18) "array('item'=>'1')"
>> ?>
>
> Ret eval-linjen til:
>
> eval("\$out = $test;");
>
> Efter streng-interpoleringen indeholder eval-strengen så:
>
> $out = array('item'=>'1');
>
> .. og det er det, du er interesseret i.
>

Jeg var SÅ sikker på jeg havde prøvet ovenstående, men det havde jeg nok
ikke, for nu virker det jo bare perfekt. Tak for den lille rettelse :)

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste