Serialize Function In Php

  1. Serialize Function In Php File
  2. Php Serialize Object
Active3 years, 6 months ago

I just learned about the serialize() andunserialize() functions. What are some uses for this? I know people serialize things to put into a database. Could you give me some example uses where it is helpful?

I also see serialized code in javascript, is this the same? Can a serialized string in javascript can be unserialized with php unserialize()?

Wesley Murch
84.8k31 gold badges160 silver badges214 bronze badges

Online PHP and JSON Unserializer. A common problem: you have a serialized PHP or JSON string, maybe even base64 encoded, but what you really want is an easy-to-read unserialized version. Unserialize is the solution. Simply paste in your serialized string, click 'Unserialize', and we'll display your unserialized text in an easy-to-read format.

JasonDavisJasonDavis
22k85 gold badges271 silver badges467 bronze badges

4 Answers

PHP serialize allows you to keep an array or object in a text form. When assigning arrays to things like $_SESSION, it allows PHP to store it in a text file, and then recreate it later. Serialize is used like this for objects and variables. (Just make sure you have declared the class the object uses beforehand)

Wordpress on the other hand uses it for a very similar method, by storing the serialized arrays directly in a database. If you keep a database of keys => values, this could be very beneficial because of the flexibility of arrays, you can store anything in the value parameter.

Php serialize object

And heres the link (courtesy of first commentor): http://us3.php.net/serialize

Tyler CarterTyler Carter
51.2k20 gold badges115 silver badges141 bronze badges

I often see seralized data store in Database, and I really don't like this :

  • it's really hard to work in SQL with that data : how do you write conditions on serialized data ? Even harder : how do you update it ? Do you really write a PHP script that fetches every lines, unserialize those, modifies them, re-serialize, and stores them back in DB ? :-(
  • the day you will want to migrate your data to another software, it'll require more work to migrate the data (and be even more work if the new software is not written in PHP, btw)

Still, I admit it is an easy way to store not-well-defined data... and I do sometimes use it for that...

Another use for serialization is to facilitate data exchange between two systems : sending objects through some kind of webservice, for instance, requires them to be serialized in some kind of way.

If the two systems are PHP, you could envisage using serialize/unserialize. But, here too, what if one of the system is not PHP anymore ? Using JSON or SOAP is probably a better choice : a bit harder at first, but probably a more long-term solution, as those formats are known in other languages too.

One thing I use PHP's serialize function is to store data in cache (like APC's user's cache), in a PHP application : you cannot store objects as-is : you have to serialize them. As the cache is used only by one application, it is not necessary to use a format known by many languages ; so, serialize is OK... And, to store data in cache, you should use a really fast serialization function -- and serialize is pretty fast ^^

Pascal MARTINPascal MARTIN
350k63 gold badges605 silver badges625 bronze badges

I often use serialize to store important information in the database that isn't worth creating a whole new field for, but could be of use in the future.

For instance, if the user fills out a form that I only store a few elements from, but I want to keep them all in case I need them later, I'll serialize the array of form elements and store it in the database.

James SkidmoreJames Skidmore
25.9k30 gold badges99 silver badges133 bronze badges

Serialization is used when you want to pass data outside PHP, for example to Javascript.

Yeah, it often works to send strings, integers and strings as they are, but not more complex structures like arrays. Read more about passing a PHP array to Javascript here.

You can also format your data as JSON that is widely supported in many languages, but then you loose PHP native types and your own classes when converting to it. Read more about JSON and PHP here.

Community
Andrey ProkhorovAndrey Prokhorov

Not the answer you're looking for? Browse other questions tagged phpserialization or ask your own question.

The ArrayObject::serialize() function is an inbuilt function in PHP which is used to serialize the ArrayObject.

Syntax:

Json

Parameters: This function does not accept any parameters.


Return Value: This function returns the serialized representation of the ArrayObject.

Below program illustrates the ArrayObject::serialize() function in PHP:

Program:

Serialize Function In Php File

// PHP program to illustrate the
$arr= array(
'b'=>'to',
);
// Create array object
// to get the behavior of flags
$serialize2= $arrObject->serialize();
// Display the result
var_dump($serialize2);
?>

Reference:https://www.php.net/manual/en/arrayobject.serialize.php

Php Serialize Object


Recommended Posts:

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the 'Improve Article' button below.