Heim  >  Artikel  >  tägliche Programmierung  >  Was ist PHP-Array-Serialisierung und -Deserialisierung? (Bilder + Videos)

Was ist PHP-Array-Serialisierung und -Deserialisierung? (Bilder + Videos)

藏色散人
藏色散人Original
2018-09-30 09:23:284900Durchsuche

本篇文章主要给大家介绍PHP数组序列化和反序列化的相关知识。

PHP序列化在我们实际项目运行过程中是一种非常常见的操作。比如当我们想要将数组值存储到数据库时,就可以对数组进行序列化操作,然后将序列化后的值存储到数据库中。其实PHP序列化数组就是将复杂的数组数据类型转换为字符串,这样就方便数组存库操作。

我们对PHP数组进行序列化和反序列化操作,主要就用到两个函数,serializeunserialize

一、PHP数组序列化:serialize

<?php
$data=[&#39;PHP&#39;,&#39;HTML&#39;,&#39;Java&#39;,&#39;Python&#39;];
echo serialize($data);

这里我们创建了一个简单的数组变量$data,然后我们通过serialize函数对这个数组进行序列化操作。

echo出来的结果如下:

a:4:{i:0;s:3:"PHP";i:1;s:4:"HTML";i:2;s:4:"Java";i:3;s:6:"Python";}

我们再给这段序列化后的数据进行解释,方便新手朋友们了解学习。

a:表示整体的数据类型,这里是array;

a:4中的4:表示数组元素的个数;

i:表示int,整型;

0:表示数组元素的下标;

s:表示string,即数组值的类型;

s:3中3:表示数组值的长度。

:serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。

二、PHP反序列化:unserialize

<?php
$data=[&#39;PHP&#39;,&#39;HTML&#39;,&#39;Java&#39;,&#39;Python&#39;];
$str=serialize($data);
var_dump(unserialize($str));

如果我们想要将序列化后的数据转换为数组,就需要用到unserialize函数

如上诉代码,我们将$str变量反序列化后的结果如下图:

Was ist PHP-Array-Serialisierung und -Deserialisierung? (Bilder + Videos)

unserialize() 是对单一的已序列化的变量进行操作,将其转换回PHP 的值。

那么本篇文章就介绍了关于PHP数组序列化和反序列化的操作。想要了解更多PHP知识,可以关注PHP中文网的PHP视频教程

Das obige ist der detaillierte Inhalt vonWas ist PHP-Array-Serialisierung und -Deserialisierung? (Bilder + Videos). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn