Dans l'article précédent, nous avons découvert la méthode de sérialisation d'objets ou de tableaux. Si vous en avez besoin, veuillez lire "Comment sérialiser des tableaux et des objets en php". Cette fois nous allons vous présenter la méthode de désérialisation d'objets ou de tableaux. Vous pouvez vous y référer si nécessaire.
Avant de commencer cet article, comprenons d'abord ce qu'est la désérialisation.
La désérialisation est le processus de restauration de flux d'octets (chaînes binaires) en tableaux et objets.
Une fois que nous avons compris la signification de la désérialisation, il nous est facile de comprendre ce que cet article doit faire. Nous devons restaurer les objets et tableaux sérialisés dans l'article précédent.
Regardons d'abord un petit exemple, qui consiste à restaurer le tableau sérialisé dans l'article précédent.
L'exemple de l'article précédent est
<?php $sites = array('Google', '360', 'Facebook'); $serialized_data = serialize($sites); echo $serialized_data . PHP_EOL; ?>
Le résultat est
Ensuite, nous restaurerons ce flux d'octets dans un tableau.
<?php $str = 'a:3:{i:0;s:6:"Google";i:1;s:3:"360";i:2;s:8:"Facebook";}'; $unserialized_data = unserialize($str); print_r($unserialized_data); ?>
Le résultat restauré est
D'accord, restaurons le résultat maintenant. Expliquons-le attentivement. Une si longue chaîne de caractères devient un tableau après avoir passé une fonction. Même si on ne sait pas ce qui s'est passé dans cette longue séquence ? Comment est-il passé d’une longue chaîne de chiffres et de lettres au tableau que nous connaissons bien.
Mais nous pouvons apprendre cette fonction. La fonction
unserialize() est utilisée pour désérialiser l'objet ou le tableau sérialisé par la fonction serialize() et renvoyer la structure de l'objet d'origine.
Jetons ensuite un œil à la structure syntaxique de cette fonction.
mixed unserialize (需要进行反序列化操作的字符串)
Ce qu'il faut noter, c'est la valeur de retour de cette fonction. Regardons de plus près.
Cette fonction renvoie la valeur convertie, qui peut être integer
、float
、string
、array
或object
。如果传递的字符串不可解序列化,则返回FALSE
,并产生一个E_NOTICE
.
C'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →Tutoriel vidéo php
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!