Serialization can save arrays, etc. as arrays. In addition, it can also be used to send and receive emails. This may not be easy to understand. In this article, we will introduce the content of PHP serialization.
What usually happens when you store an array in a database?
Try to register the following array in the database.
["student1", "student2", "student3"]
Then try to get it again
'Array("student1", "student2", "student3")'
What we get is a string, after registering it in the database without serialization, if we retrieve it again, it will become a character string.
It is not possible to use the foreach statement to obtain this string.
The array needs to be registered in the database as an array, and serialization needs to be used.
Let'suse serialization
To serialize, you need to use the serialize function
In addition, the result depends on what is to be serialized type of data.
Serialized array
Copy after login
The execution result is
a:3:{i:0;s:8:"student1";i:1;s:8:"student2";i:2;s:8:"student3";}
Please note that the initial [a:3] part ends with [type:value ] is displayed.
indicates that the type of the array is a.
In addition, the subsequent display is the array data part, represented by [key; value;]
Serialized integer
Copy after login
The result is
i:50;
Serialized string
Copy after login
The result is
s:7:"student";
, indicating that the type of the string is s.
In the case of strings there are also numbers, but this represents the number of characters.
Serialization is simple.
Then send the serialized data or save it in the database.
Deserialize with unserialize
To use serialized data, you cannot use it as-is.
Unserialize must be used to restore the original type and structure.
Deserializing Array
"; echo print_r(unserialize($disp));
For clarity, the serialized $disp is shown with line breaks set (
).
Additionally, $disp is deserialized and displayed.
print_r is used to display the contents of the array.
The result is
a:3:{i:0;s:8:"student1";i:1;s:8:"student2";i:2;s:8:"student3";} Array ( [0] => student1 [1] => student2 [2] => student3 )1
The first line is the serialization result, and the second line is the deserialization result.
Deserialize integer
"; echo unserialize($disp);
The result is
i:50; 50
Deserialize string
"; echo unserialize($disp);
The result is
s:7:"student"; student
Recovering serialized data is easy.
The above is the detailed content of Summary of usage of php serialization (code example). For more information, please follow other related articles on the PHP Chinese website!