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['keys'] = 'www'; $array['values']='11111'; $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!