Je vais utiliser un plug-in
dans WordPress
appelé RegistrationMagic
. Et je dois accéder à la data
enregistrée pour une utilisation ultérieure en mode frontal pour une raison.
Je cherchais la tables
dans MySQL
et ai trouvé la data
de la users
comme ceci:
a: 5: {
i: 6;O: 8: "stdClass": 3: {
s: 5: "label";s: 10: "First Name";s: 5: "value";s: 6: "Danilo";s: 4: "type";s: 5: "Fname";
}i: 7;O: 8: "stdClass": 3: {
s: 5: "label";s: 9: "Last Name";s: 5: "value";s: 5: "Teste";s: 4: "type";s: 5: "Lname";
}i: 5;O: 8: "stdClass": 3: {
s: 5: "label";s: 5: "Email";s: 5: "value";s: 26: "[email protected]";s: 4: "type";s: 5: "Email";
}i: 8;O: 8: "stdClass": 3: {
s: 5: "label";s: 7: "Website";s: 5: "value";s: 17: "http://teste.com/";s: 4: "type";s: 7: "Website";
}i: 9;O: 8: "stdClass": 3: {
s: 5: "label";s: 43: "Do you agree with our terms and conditions?";s: 5: "value";s: 2: "on";s: 4: "type";s: 5: "Terms";
}
}
Quelqu'un peut m'aider à comprendre ce que c'est? C'est JSON
? Est-ce que le travail possible avec, comme attraper dans une boucle ou quelque chose?
Désolé, il s’agit d’un transfert ultérieur, car je le vois toujours dans mes bases de données WordPress
, mais je n’ai jamais compris ce qu’il en était.
C'est une chaîne sérialisée . Voici une bonne description de ce que c'est:
Un tableau ou un objet PHP, ou une autre structure de données complexe, ne peut pas être transporté, stocké ou utilisé en dehors d'un script en cours d'exécution PHP. Si vous souhaitez conserver une structure de données aussi complexe au-delà d'une seule exécution d'un script, vous devez la sérialiser. Cela signifie simplement de placer la structure dans un "dénominateur commun inférieur" pouvant être géré par des éléments autres que PHP, tels que des bases de données, des fichiers texte, des sockets. La fonction standard PHP sérialiser est juste un format pour exprimer une telle chose, elle sérialise une structure de données dans une représentation sous forme de chaîne qui est unique à PHP et peut être inversée dans un PHP objet avec unserialize. Il existe cependant de nombreux autres formats, tels que JSON ou XML.
Donc, si vous avez un tableau, un objet, etc.,PHP, dites:
$array = array(
'key value' => array(
'more info' => array(1,2,3)
),
'another key' => array(
'and so on' => '<span>so on</span>'
)
);
Avec PHP, vous pouvez utiliser serialize()
et unserialize()
pour le transformer en une chaîne. Vous pouvez vous voir avec un script comme:
$storeArray = serialize($array);
echo "<pre>".print_r($storeArray,true)."</pre>";
$restore = unserialize($storeArray);
echo "<pre>".print_r($restore,true)."</pre>";
UPDATE: et @TomJNowell a rappelé (merci!):
WP auto-sérialise et désérialise à la volée si vous passez des objets ou des tableaux dans des API pour la sauvegarde
Avec Wordpress, par exemple avec l’API Options, passer votre tableau à add_option()
le sauvegardera en tant que chaîne sérialisée dans la table _options
. Récupérer la valeur avec get_option()
la libéralisera automatiquement et la valeur obtenue sera la même que celle du tableau $ original que vous avez transmis ajouté:
add_option('my_array', $array);
$my_array = get_option('my_array');
echo "<pre>".print_r($my_array,true)."<pre>";