IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Récupération des variables d'un serialize()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut [Tableaux] Récupération des variables d'un serialize()
    Bonjour,

    j'aimerais savoir s'il était possible à partir d'une chaîne contenant une représentation linéaire d'une variable ($truc) de récupérer les variables :

    J'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo serialize($truc);
    // affiche : a:3:{s:4:"mode";s:5:"admin";s:2:"id";i:0;s:3:"nom";s:8:"MyName";}
    et j'aimerais avoir cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $mode = "admin";
    $id = 0;
    $nom = "MyName";
    Merci d'avance
    @+

  2. #2
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut
    oui ça ok...

    mais dans mon cas, l' unserialize() me retourne "Array".
    Moi, j'aimerais avoir les variables contenu dans ce tableau avec le bon typage...

  4. #4
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    http://php.net/list

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    list($var1, $var2, $var3) = unserialize($serialized);

  5. #5
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Par défaut
    tu as extract aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extract(unserialize($ta_chaine))
    Articles sur developpez.com
    - Gestion des exceptions avec PHP5
    - Chiffrement et hash en PHP contre l'attaque Man in the middle
    - Aedituus - Espace membre sécurisé en PHP5

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut
    perdu |PaRa-BoL....

    Fallait voir du coté d' extract() (que j'ai trouvé grâce à ton lien vers list() )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    $truc = array (
    	'mode' => "admin",
    	'id' => 0,
    	'nom' => "MyName"
    );
    $serialize_truc = serialize($truc);
    echo "serialize_truc: ".$serialize_truc."<br />";
    // affiche : a:3:{s:4:"mode";s:5:"admin";s:2:"id";i:0;s:3:"nom";s:8:"MyName";}
     
    $unserialize_truc = unserialize($serialize_truc);
     
    extract($unserialize_truc, EXTR_PREFIX_SAME, "wddx");
    echo $mode."<br />";
    echo $id."<br />";
    echo $nom."<br />";
    ?>
    en plus le typage des variables est bon ! J'ai vérifié avec gettype($id) qui m'indiqué bien Integer....

    Merci pour ton aide.
    @+

    [EDIT]
    oups... croisement.
    Merci à vous deux !
    [/EDIT]

  7. #7
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Perdu ?
    Je vois pas en quoi list() n'est pas correcte. De plus pourquoi utilises tu le prefix wddx ? Parce que c'est dans l'exemple de la doc :p
    Mais il est vrai que extract est plus pratique pour garder le bon nom de variables.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Récupération des données d'un formulaire
    Par projetM dans le forum Langage
    Réponses: 3
    Dernier message: 22/05/2006, 00h01
  2. [Tableaux] récupération des champs par $_POST
    Par jeanfrancois dans le forum Langage
    Réponses: 3
    Dernier message: 11/05/2006, 17h22
  3. Réponses: 5
    Dernier message: 14/02/2006, 18h52
  4. Réponses: 21
    Dernier message: 05/02/2006, 17h37
  5. [C#] Récupération des variables system...
    Par smyley dans le forum Windows Forms
    Réponses: 7
    Dernier message: 04/08/2005, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo