PHP function serialize () and unserialize () description and case. To change the serialized string back to PHP's value, use Unserialize (). Serialize () can handle any type except resource. You can even serialize () those arrays that contain pointers to their own references. The references in the array/object you are serialize () will also be stored.
Serialize () returns a string that contains a byte stream representing value that can be stored anywhere. This facilitates the storage or delivery of PHP values without losing their type and structure.
To change the serialized string back to PHP's value, use Unserialize (). Serialize () can handle any type except resource. You can even serialize () those arrays that contain pointers to their own references. The references in the array/object you are serialize () will also be stored.
When serializing an object, PHP will attempt to call the object's member function __sleep () before the sequence action. This allows the object to do any cleanup before it is serialized. Similarly, when you use Unserialize () to restore an object, the __wakeup () member function is called.
Note: In PHP 3, the object properties will be serialized, but the method will be lost. PHP 4 Breaks This limit and can store properties and methods at the same time. See the serialization Objects section of classes and objects for more information.
Serialize () and unserialize () are explained in the PHP manual as:
Serialize? Generates a storable representation of a value
Serialize? Produces a representation of a value that can be stored
Unserialize? Creates a PHP value from a stored representation
Unserialize? To create a PHP value from a stored representation
Serialize, translated to call "serial, make continuous", usually called it "serialization"
This function is very useful, especially with unserialize.
I think the more useful thing is to put the data into the database or record in the file when
Of course, this data must be more complex (not complex and need not serialize, I think at least an array), but also the database is not "index or primary key", of course, it is best that the database field in the system and any search program independent, Of course, after the serialize data is still able to search, because the specific data has not been encrypted or changed
A little simpler.
$array = Array ();
$array [' key '] = ' website ';
$array [' Value ']= ' www.isoji.org ';
$a = serialize ($array);
echo $a;
Unset ($array);
$a = unserialize ($a);
Print_r ($a);
Declaration of 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);
}
}
Instantiation of this class
$ourfirstdog = new Dog ("Rover", "Lisa and Graham");
Convert this instance into a serialized string using the Serialize function
$dogdisc = serialize ($ourfirstdog);
Print $dogdisc; The $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 to anywhere like Session,cookie, database, PHP file
-----------------------------------------------------------------------------------------
*/
We hereby unregister this class
Unset ($ourfirstdog);
/* Restore operation */
/*
-----------------------------------------------------------------------------------------
Here you will read the string $dogdisc from where you stored it, such as Session,cookie, database, PHP file
-----------------------------------------------------------------------------------------
*/
Here we use Unserialize () to restore an already serialized object
$pet = Unserialize ($dogdisc); The $pet at this point is already the $ourfirstdog object in front of you.
Get age and Name attributes
$old = $pet->getage ();
$name = $pet->getname ();
This class does not need to be instantiated at this time to continue to use, and the properties and values are persisted in the state before serialization
Print "Our first dog is called $name and are $old days old
";
print '
';
?>