Maison  >  Article  >  développement back-end  >  Exemple d'explication des fonctions serialize() et unserialize()

Exemple d'explication des fonctions serialize() et unserialize()

零下一度
零下一度original
2017-07-27 16:40:531251parcourir

Quand j'ai regardé le code class.quickskin.PHP aujourd'hui, j'ai vu une fonction sérialisée que je n'avais jamais vue auparavant. Le Maître et Xiaobai ont posé des questions à ce sujet, mais ils n'ont pas pu le comprendre. Je pensais qu'il valait mieux le tester localement. La tête de cochon a frappé une fois. . . .
En fait, ce genre de problème est très simple et peut être résolu par nous-mêmes. Souvent, nous sommes tout simplement trop paresseux. . . .
Il est souvent difficile d'expliquer des programmes en langage, surtout pour un novice comme moi. Il est souvent plus facile de simplement regarder le code.
L'explication dans le manuel PHP5 est la suivante. Cela semble un peu déroutant à première vue, mais après l'avoir relu après les tests, cela deviendra plus clair.
En termes simples, serialize($param) consiste à sérialiser la valeur de $param. Il semble que certains champs de la base de données UCHOME soient stockés dans de telles données (a:1:{s:7:"apppath";s : 0:"";}), et unserialize($param) est comme l'opération inverse de sérialisation, convertissant une valeur sérialisée en chaîne correspondante. Cette conversion est réalisable pour les variables numériques et les variables de chaîne, mais pour les tableaux et les objets. "Array" et "Erreur fatale capturable : l'objet de la classe L'objet n'a pas pu être converti en chaîne dans" respectivement les messages d'erreur.

serialize() peut gérer tous les types sauf les types de ressources, et peut également sérialiser des objets

<?php 
$array = array(); 
$array[&#39;keys&#39;] = &#39;www&#39;; 
$array[&#39;values&#39;]=&#39;11111&#39;; 
$a = serialize($array); 
echo $a; 
unset($array); 
$a = unserialize($a); 
print_r($a); 
?>

Output

a:2:{s:4:"keys" ;s:3:"www";s:6:"values";s:5:"11111";}

Array ( [touches] => www [values] => 11111 )

Il en va de même pour les cours

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