<HTML ><HEAD ><TITLE >serialize</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK REL="HOME" TITLE="PHP Manual" HREF="manual.html"><LINK REL="UP" TITLE="Miscellaneous functions" HREF="ref.misc.html"><LINK REL="PREVIOUS" TITLE="register_shutdown_function" HREF="function.register-shutdown-function.html"><LINK REL="NEXT" TITLE="sleep" HREF="function.sleep.html"></HEAD ><BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP Manual</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.register-shutdown-function.html" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.sleep.html" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.serialize" >serialize</A ></H1 ><DIV CLASS="refnamediv" ><A NAME="AEN17587" ></A >serialize -- Generates a storable representation of a value. </DIV ><DIV CLASS="refsect1" ><A NAME="AEN17590" ></A ><H2 >Description</H2 ><DIV CLASS="funcsynopsis" ><P ></P ><CODE CLASS="FUNCDEF" >string serialize</CODE >(mixed value);<P ></P ></DIV ><P > <B CLASS="function" >serialize()</B > returns a string containing a byte-stream representation of <TT CLASS="parameter" ><I >value</I ></TT > that can be stored anywhere. </P ><P > This is useful for storing or passing PHP values around without losing their type and structure. </P ><P > To make the serialized string into a PHP value again, use <A HREF="function.unserialize.html" ><B CLASS="function" >unserialize()</B ></A >. <B CLASS="function" >serialize()</B > handles the types <SPAN CLASS="type" >integer</SPAN >, <SPAN CLASS="type" >double</SPAN >, <SPAN CLASS="type" >string</SPAN >, <SPAN CLASS="type" >array</SPAN > (multidimensional) and <SPAN CLASS="type" >object</SPAN > (object properties will be serialized, but methods are lost). </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><P ><B >Example 1. <B CLASS="function" >Serialize()</B > example</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><PRE CLASS="programlisting" > 1 2 // $session_data contains a multi-dimensional array with session 3 // information for the current user. We use serialize() to store 4 // it in a database at the end of the request. 5 6 $conn = odbc_connect ("webdb", "php", "chicken"); 7 $stmt = odbc_prepare ($conn, 8 "UPDATE sessions SET data = ? WHERE id = ?"); 9 $sqldata = array (serialize($session_data), $PHP_AUTH_USER); 10 if (!odbc_execute ($stmt, &$sqldata)) { 11 $stmt = odbc_prepare($conn, 12 "INSERT INTO sessions (id, data) VALUES(?, ?)"); 13 if (!odbc_execute($stmt, &$sqldata)) { 14 /* Something went wrong. Bitch, whine and moan. */ 15 } 16 } 17 </PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.register-shutdown-function.html" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="manual.html" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.sleep.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >register_shutdown_function</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.misc.html" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >sleep</TD ></TR ></TABLE ></DIV ></BODY ></HTML >