Afficher la valeur d'un Unserialize

Eléphant du PHP | 256 Messages

17 oct. 2010, 19:54

Bonjour,

Je souhaiterai imprimer la valeur d'une valeur contenue dans un Unserialize. Suis-je obligé d'affecter les valeurs dans un tableau au préalable ?

Je m'explique...
print_r (unserialize($display['site']));
var_dump(unserialize($display['site']));
foreach(unserialize($display['site']) as $val)
{
echo $val;
}
fonctionne.

Mais...
echo unserialize($display['site']['0']);
n'affiche rien.

En revanche,...
$tab = unserialize($display['site']);
echo $tab['0'];
fonctionne.

Néanmoins, n'y aurait-il pas une solution plus élégante que de créer un tableau, afin d'afficher directement la valeur ? :mrgreen:

Merci pour vos lumières.

Cordialement,

Gaspard

ViPHP
xTG
ViPHP | 7331 Messages

17 oct. 2010, 20:25

Une donnée sérialisée est utilisée pour être stockée ou transmise.
Donc il est impensable de garder une donnée sérialisée sur une page de traitement qui n'a pas pour but ces deux choses là.

Quel mal y a-t-il à faire :
$ma_var = unserialize($s_var);
Dans tous les cas tu seras bien incapable d'utiliser le contenu si tu ne le fais pas.

Bref pour moi l'élégance veut qu'on deserialize la totalité de l'objet avant de le manipuler.

Eléphant du PHP | 256 Messages

17 oct. 2010, 20:33

Bonsoir xTG,

Merci pour cette réponse précise et argumentée. Je découvre les joies de la sérialisation depuis quelques heures.

Grâce à ton aide, ma soirée n'en sera que plus agréable !

Encore merci.

Cordialement,

Gaspard