serialize Génère une représentation stockable d'une valeur &reftitle.description; stringserialize mixedvalue Retourne un tableau en chaine de caractère. C'est une technique pratique pour stocker ou passer des valeurs PHP entre scripts, sans perdre leur structure ni leur type. Pour récupérer une variable linéarisée et retrouver une valeur PHP, utilisez unserialize. &reftitle.parameters; value La valeur à linéariser. serialize accepte tous les types sauf les ressources &resource; et certains &object;s (voir note ci-dessous). Vous pouvez même linéariser un tableau qui contient des références sur lui-même. Les références cycliques dans des tableaux/objets seront également stockées. Toutes les autres références seront perdues. Lors de la linéarisation d'un objet, PHP tentera d'appeler les fonctions membres __serialize() ou __sleep() avant de linéariser. Cela permet à l'objet de faire un dernier nettoyage, etc. avant d'être linéarisé. De même, lorsque l'objet est restauré en utilisant unserialize, la fonction membre __unserialize() ou __wakeup() est appelée. Les attributs privés d'un objet auront le nom de la classe préfixé au nom de l'attribut ; les attributs protégés seront préfixés avec un astérisque '*'. Ces valeurs préfixées ont des caractères nuls des deux cotés. &reftitle.returnvalues; Retourne une &string; contenant une représentation sous forme de flux d'octets qui peut être stocker partout. Il est à noter que c'est une chaîne binaire qui peut inclure des octets nuls, et doit donc être stockée et gérée comme telle. Par exemple, la sortie de serialize doit généralement être stockée dans un champ de type BLOB d'une base de données, plutôt que dans un champ de type CHAR ou TEXT. &reftitle.examples; Exemple avec <function>serialize</function> ]]> &reftitle.notes; Il est à noter que de nombreux objets internes de PHP ne peuvent pas être linéarisés. Cependant, ceux qui le peuvent implémentent soit l'interface Serializable soit les méthodes magiques __serialize()/__unserialize() ou __sleep()/__wakeup(). Si une classe interne ne remplit aucune de ces conditions, elle ne peut pas être linéarisée de manière fiable. Il existe des exceptions historiques à cette règle, où des objets internes peuvent être linéarisés alors qu'ils n'implémentent pas l'interface ou n'exposent pas les méthodes magiques prévues à cet effet. Lorsque la fonction serialize linéarise des objets, l'antislash de fin n'est pas inclus dans l'espace de nom du nom de la classe et ce, pour un maximum de compatibilité. &reftitle.seealso; unserialize var_export json_encode Serializing Objects __sleep() __wakeup() __serialize() __unserialize()