[QUOTE]Originariamente inviato da filippo.toso
Per te questi due codici si equivalgono quando è evidente che non è così:
Codice PHP:
<pre>
<?php
$string = array("'abc'=>'1', 'def'=>'2'");
$array = array('abc'=>'1', 'def'=>'2');
var_dump($string);
var_dump($array);
?>
</pre>
Ovvio che stringa e array non sono uguali!
Quello che faccio io è stampare esattamente quello che c'è nel mio campo del database, cioé 'abc'=>'1', 'def'=>'2', senza le virgolette che lo renderebbero una stringa, e quindi non utilizzabile nell'array.
Quello che faccio è prelevare 'abc'=>'1', 'def'=>'2' dal database e inserirlo nelle parentesi dell'array, quindi il risultato sarà come hai giustamente indicato tu:
Codice PHP:
$array = array('abc'=>'1', 'def'=>'2');
//in quanto la variabile $estrapolazione è 'abc'=>'1', 'def'=>'2'
//quindi..
echo $estrapolazione;
//..sarà uguale a 'abc'=>'1', 'def'=>'2'
Quello che non capisco è perché la stringa presa dall'array della query al db, che comunque rimane una "stringa" utilizzabile nell'array in quanto perfettamente uguale a 'abc'=>'1', 'def'=>'2' (che funziona se inserita a mano), non risulta utilizzabile nell'array!
Il parsing è corretto, a meno che quando mando la echo della variabile $estrapolazione, mi nasconda delle virgolette o altro che non viene stampato a video...
Magari c'è di default e non lo so, ma non mi risulta!
Grazie della pazienza! Non chiedo mai nulla se non mi sono realmente incastrato!