Php function serialize () and unserialize () usage instance

Source: Internet
Author: User
This article mainly introduces the usage of php functions serialize () and unserialize (), and describes in detail the application and usage of php functions serialize () and unserialize () in the form of an instance, good reference price

This article mainly introduces the usage of php functions serialize () and unserialize (), and describes in detail the application and usage of php functions serialize () and unserialize () in the form of an instance, good reference price

This example describes the usage of php functions serialize () and unserialize. Share it with you for your reference. The specific method is as follows:

This example describes the php functions serialize () and unserialize. To change serialized strings back to PHP values, use unserialize (). Serialize () can process any type other than resource. Even serialize () contains arrays that point to its own reference. References in arrays/objects of serialize () will also be stored.

Serialize () returns a string that contains a byte stream that represents value and can be stored anywhere. This facilitates storing or passing PHP values without losing their types and structures.

To change serialized strings back to PHP values, use unserialize (). Serialize () can process any type other than resource. Even serialize () contains arrays that point to its own reference. References in arrays/objects of serialize () will also be stored.

When an object is serialized, PHP tries to call the member function _ sleep () of the object before the sequential action (). This allows objects to be cleared before being serialized. Similarly, when unserialize () is used to restore an object, the _ wakeup () member function is called.

Note: in PHP 3, object attributes will be serialized, but methods will be lost. PHP 4 breaks this restriction and can store attributes and methods at the same time. For more information, see the serialization object section of the class and object.
Serialize () and unserialize () are described in the php manual as follows:

Serialize-Generates a storable representation of a value
Serialize-generate a representation of a stored value
Unserialize-Creates a PHP value from a stored representation
Unserialize-create a PHP value from a stored Representation
Serialize, translated as "serialization, continuous", usually called "serialization"

This function is useful, especially when used with unserialize.
I think it is useful to store data in a database or record it in a file.
Of course, this type of data must be complex (neither complicated nor serialize is required, and I think at least it must be an array) and be non-"index or primary key" in the database ", of course, it is best to leave this database Field irrelevant to any search program in the system. Of course, the data after serialize can still be searched because the specific data is not encrypted or changed.

The Code is as follows:

<? Php
// Simple
$ Array = array ();
$ Array ['key'] = 'website ';
$ Array ['value'] = 'www .isoji.org ';
$ A = serialize ($ array );
Echo $;
Unset ($ array );
$ A = unserialize ($ );
Print_r ($ );

// Declare a class
Class dog {
Var $ name;
Var $ age;
Var $ owner;
Function dog ($ in_name = "unnamed", $ in_age = "0", $ in_owner = "unknown "){
$ This-> name = $ in_name;
$ This-> age = $ in_age;
$ This-> owner = $ in_owner;
}
Function getage (){
Return ($ this-> age * 365 );
}

Function getowner (){
Return ($ this-> owner );
}

Function getname (){
Return ($ this-> name );
}
}
// Instantiate this class
$ Ourfirstdog = new dog ("Rover", 12, "Lisa and Graham ");
// Use the serialize function to convert this instance into a serialized string
$ Dogdisc = serialize ($ ourfirstdog );
Print $ dogdisc; // $ ourfirstdog has been serialized as a string O: 3: "dog": 3: {s: 4: "name"; s: 5: "Rover "; s: 3: "age"; I: 12; s: 5: "owner"; s: 15: "Lisa and Graham ";}
Print'
';
/*
Here you can store the string $ dogdisc anywhere, such as session, cookie, database, and PHP files.
*/
// Cancel this class here
Unset ($ ourfirstdog );
/* Restore operation */
/*
Here, you can read the string $ dogdisc from your storage location, such as session, cookie, database, and PHP files.
*/

// Here we use unserialize () to restore serialized objects.
$ Pet = unserialize ($ dogdisc); // $ pet is the previous $ ourfirstdog object.
// Get the age and name attributes
$ Old = $ pet-> getage ();
$ Name = $ pet-> getname ();
// This class can be used without instantiation at this time, and both attributes and values remain in the state before serialization.
Print "Our first dog is called $ name and is $ old days old
";
Print'
';
?>

I hope this article will help you with PHP programming.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.