Home  >  Article  >  Backend Development  >  Summary of usage of php serialization (code example)

Summary of usage of php serialization (code example)

不言
不言Original
2019-01-14 13:22:194723browse

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.

Summary of usage of php serialization (code example)

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

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

<?php
$test = 50;
$disp = serialize($test);
echo $disp;

The result is

i:50;

Serialized string

<?php
$test = &#39;student&#39;;
$disp = serialize($test);
echo $disp;

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 (df250b2156c434f3390392d09b1c9563).

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

<?php
$test = 50;
$disp = serialize($test);
echo $disp;
echo "
"; echo unserialize($disp);

The result is

i:50;
50

Deserialize string

<?php
$test = &#39;student&#39;;
$disp = serialize($test);
echo $disp;
echo "
"; 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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn