Maison >développement back-end >tutoriel php >Comment puis-je désérialiser une chaîne sérialisée pour récupérer le tableau qu'elle contient ?

Comment puis-je désérialiser une chaîne sérialisée pour récupérer le tableau qu'elle contient ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-04 05:38:14313parcourir

How Can I Unserialize a Serialized String to Recover the Array Within?

Comprendre les chaînes sérialisées et leur non-sérialisation

Cet article aborde la question de l'identification du type d'une chaîne donnée et comment récupérer le tableau stocké en son sein. Examinons les informations fournies pour comprendre la solution.

Identification de la chaîne sérialisée

La chaîne en question est une chaîne sérialisée, qui est essentiellement une représentation d'un tableau converti en chaîne. Il adhère à un format spécifique qui lui permet d'être reconverti en tableau à l'aide de la fonction unserialize().

Désérialiser la chaîne

Pour désérialiser la chaîne et récupérer le tableau, vous pouvez utiliser le code suivant :

$str = 'a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}';
print_r(unserialize($str));

La fonction unserialize() reconvertira la chaîne sérialisée en un tableau, qui est ensuite imprimé en utilisant print_r().

Output

La sortie du code est un tableau contenant les deux chaînes "Abogado" et "Notario":

Array ( [0] => Abogado [1] => Notario )

Précautions et bonnes pratiques

Il est essentiel de noter que la non-sérialisation des entrées utilisateur non fiables peut présenter des risques de sécurité, car elle peut conduire à l'exécution de code. Par conséquent, il est conseillé d'utiliser un format d'échange de données sécurisé tel que JSON (via json_decode() et json_encode()) pour transmettre des données sérialisées aux utilisateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn