PHP:数组变量的序列化和反序列化

序列化和反序列化是PHP操作数据库、读写文件时常见的操作。

序列化,就是将PHP的变量转化为可保存的、可传输的字符串的过程;

反序列化,则是将(序列化的)字符串转化回变量。

比如,我们需要将某学生的个人信息写入数据库,可以这样:

$arr = array(
    "name" => "山可唠",
    "age" => "24",
    "grade" => "六",
    "class" => "一"
);
$str = serialize($arr);
echo $str;

输出:a:4:{s:4:"name";s:9:"山可唠";s:3:"age";s:2:"24";s:5:"grade";s:3:"六";s:5:"class";s:3:"一";}

序列化后,我们得到一长串文本。

将其存入数据库(或文件),需要时读出,再反序列化为数组,即可取值:

$str = 'a:4:{s:4:"name";s:9:"山可唠";s:3:"age";s:2:"24";s:5:"grade";s:3:"六";s:5:"class";s:3:"一";}';
$arr = unserialize($str);
print_r($arr) ;


输出:Array ( [name] => 山可唠 [age] => 24 [grade] => 六 [class] => 一 )

这种方式很适合用于处理信息表单。

假设某表单有数十个input,且可扩展,那么在数据库中很难处理——你不可能预设足够多的数据库栏目。因此,最简单的方式便是序列化后直接存到数据库中,需要时再读出,呈现在前端。

原创文章,作者:STEVE,如若转载,请注明出处:https://shinecloud.com.cn

(0)
上一篇 2022年 10月 24日
下一篇 2022年 10月 26日

相关推荐

  • 闽赣省界卡口值班所见所闻

    福建和江西有许多的交界处,10月25日这天,我在司前乡云际村路口值班,我们一般叫它“守卡口”,或者再简单点就叫“守卡”。 守卡,一整天 许多人可能以为是福州10月23日的新一轮疫情...

    2022年 10月 26日
    224
  • 他被摘下了高贵的头颅

    两颗头颅被摘下来放在路边。 我仔细端详这一对兄弟,长得实在不敢恭维:阿凡达颜色的脸,光滑的大脑门折射着阳光,鼻子只剩下一个圆形的洞,狭长的黄色的丹凤眼,厚重的上嘴唇,圆得不能更圆的...

    2022年 11月 8日
    317
  • 如何看待不可避免的死亡(青年版)

    致信 亲爱的家人、朋友们: 死亡是人不可避免的结局,身后事是我们作为人的最后的一份自由。为此,我写下这份文档,阐述我对死亡的认识和对身后事的安排。我志愿成为一名纯粹的马克思主义者,...

    2023年 3月 6日
    243
  • @党员干部:既然身在基层,还要什么下基层

    曾几何时,“下基层”成了个热门词,真令我百思不得其解。何谓基层?有的人说,乡村是基层;网上定义,县级及以下都算基层;仔细一看,街道、居委会也是基层——我想,不管在哪工作,总要生活在...

    2022年 11月 7日
    259
  • 我们都是《破事精英》!

    《破事精英》又成《抄袭精英》? 近期,韦正的新情景喜剧《破事精英》上映了,口碑褒贬不一。 从数据来看,豆瓣7.6的评分还算不错。 含了不少《爱情公寓》的老梗,比如12138,比如“...

    2022年 7月 11日
    244

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注