首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP的serialize()函数是用来做什么的?

PHP的serialize()函数是用来做什么的?
EN

Stack Overflow用户
提问于 2009-07-24 15:06:23
回答 4查看 22.5K关注 0票数 33

我刚刚学习了serialize()unserialize()函数。这有什么用呢?我知道人们会把东西序列化放到数据库里。你能给我一些有用的用法的例子吗?

我也在javascript中看到序列化的代码,这是相同的吗?javascript中的序列化字符串可以用php unserialize()取消序列化吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-07-24 15:07:43

PHP serialize允许您以文本形式保存数组或对象。当将数组赋值给$_SESSION之类的东西时,它允许PHP将其存储在文本文件中,然后在以后重新创建它。对于对象和变量,Serialize就是这样使用的。(只需确保事先声明了对象使用的类)

另一方面,Wordpress将其用于非常类似的方法,通过将序列化的数组直接存储在数据库中。如果您保留一个键值值数据库,这将是非常有益的,因为数组的灵活性,您可以在=>参数中存储任何内容。

这里是链接(由first commentor提供):http://us3.php.net/serialize

票数 27
EN

Stack Overflow用户

发布于 2009-07-25 08:22:55

我经常在数据库中看到序列化的数据存储,我真的不喜欢这样:

使用

  • 处理这些数据真的很难:如何在序列化数据上编写条件?更难的是:如何更新它?你真的要写一个PHP脚本来获取每一行,反序列化那些行,修改它们,重新序列化它们,并将它们存储回数据库吗?:-(
  • 当你想把你的数据迁移到另一个软件时,它将需要更多的工作来迁移数据(如果新软件不是用PHP写的,顺便说一下)

不过,我承认这是一种存储定义不明确的数据的简单方法……我有时也会用它来做这个...

序列化的另一个用途是促进两个系统之间的数据交换:例如,通过某种way服务发送对象需要以某种方式对其进行序列化。

如果这两个系统都是PHP,那么您可以考虑使用serialize/unserialize。但是,在这里,如果其中一个系统不再是PHP怎么办?使用JSON或SOAP可能是更好的选择:一开始有点困难,但可能是更长期的解决方案,因为这些格式在其他语言中也是已知的。

我使用PHP的serialize函数的一件事是在应用程序中将数据存储在缓存中(就像APC的用户缓存一样):您不能按原样存储对象:您必须序列化它们。因为缓存只由一个应用程序使用,所以没有必要使用许多语言都知道的格式;因此,serialize是可以的……而且,要在缓存中存储数据,您应该使用一个非常快的序列化函数--序列化非常快^^

票数 18
EN

Stack Overflow用户

发布于 2009-07-24 15:12:35

我经常使用serialize在数据库中存储重要信息,这些信息不值得为其创建一个全新的字段,但在将来可能会有用。

例如,如果用户填写了一个表单,而我只存储了其中的几个元素,但我希望保留所有这些元素,以备将来需要时使用,那么我将序列化表单元素数组并将其存储在数据库中。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1180602

复制
相关文章
Docker是用来干什么的?
Docker目前只能在Linux下运行 下面的例子我自己经常使用,当然你有更好的案例也可以分享给我。
爱吃大橘
2022/12/27
1.2K0
php函数serialize()与unserialize()
php函数serialize()与unserialize()说明及案例。想要将已序列化的字符串变回 PHP 的值,可使用unserialize()。serialize()可处理除了resource之外的任何类型。甚至可以serialize()那些包含了指向其自身引用的数组。你正serialize()的数组/对象中的引用也将被存储。
Java架构师必看
2021/03/22
1.3K0
dotnet 特性 DynamicallyInvokable 是用来做什么的
我在 Linq 很多函数都看到 __DynamicallyInvokable 这个特性,这是一个没有官方文档的特性,也许是用来优化反射
林德熙
2022/08/07
1.1K0
propertydescriptor是用来干什么的_constructor java
PropertyDescriptor对象是位于java.beans包下的工具类,顾名思义为属性描述器,通常我们用于通过反射获取对象方法的时候,下面来看一下常用的用法吧!
全栈程序员站长
2022/11/15
8120
java中trim()方法是用来干什么的?
trim()的作用是去掉字符串两端的多余的空格,注意,是两端的空格,且无论两端的空格有多少个都会去掉,当然中间的那些空格不会被去掉,如:
瑞新
2020/07/07
1.3K0
甘特图是什么?甘特图是用来干什么的?
甘特图(Gantt chart)也称为横道图,条状图(Bar chart)。以作者亨利·甘特先生的名字命名。甘特图的内部思想很简单,即任何特定项目的活动顺序和持续时间都可以通过活动列表和时间刻度以图形方式直观地表示出来。基本上它是一个折线图,水平轴表示时间,垂直轴表示活动(项目),折线表示整个期间的计划和实际完成活动的情况。
数据前沿
2020/06/15
3.2K0
甘特图是什么?甘特图是用来干什么的?
propertydescriptor是用来干什么的_java读取property文件
PropertyDescriptor中文叫属性描述器,是jiava JavaBean的内省与BeanUtils库
全栈程序员站长
2022/11/10
1.1K0
flask框架菜鸟教程_flask框架是用来干什么的
最近开始学习flask 框架,本文用于flask 框架的基础入门学习,版本使用的是py3.7,学习内容相对比较简单,后续再扩充高级知识。
全栈程序员站长
2022/09/27
2.9K0
flask框架菜鸟教程_flask框架是用来干什么的
[解读REST] 2.REST用来干什么的?
衔接上文[解读REST] 1.REST的起源,介绍了REST的诞生背景。每当笔者遇到一个新事物的想去了解的时候,总是会问上自己第一个问题,这个新事物是干什么用的?在解释我所理解的REST这个过程中也不
blackheart
2018/01/19
1.1K0
[解读REST] 2.REST用来干什么的?
PHP 单例模式是干什么的?
就是一个类只能实例化一次,如果有一个config配置文件,然后实例化多次的话, 在运行过程中修改了配置的话,就不知道哪个配置中进行了修改。 这样使用单例模式的话就避免了这个情况发生
Alone88
2019/10/22
5000
【说站】php架构师是做什么的
(1)架构师只对最终需求进行审查和确认,并提出需求不清和不完整的部分,他总是与需求分析师取得联系。架构师是技术专家,不是业务专家。
很酷的站长
2022/11/23
5150
【说站】php架构师是做什么的
[精选] 面试PHP主管岗位的时候,问我PHP的opcache是用来干嘛的?
opcache从字面意思,肯定是缓存这一块的。但是你是否知道它的工作原理是怎样的呢?这里一点一点让你了解! PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的工作。而Opcache又是优化PHP性能不可缺失的组件,尤其是应用了PHP框架的项目中,作用更是明显。 1. 概述在理解 OPCache 功能之前,我们有必要先理解PHP-FPM + Nginx 的工作机制,以及PHP脚本解释执行的机制。 1.1 PHP-FPM + Nginx
用户8568307
2022/03/14
9800
php serialize讲解与json性能测试
序列化是将对象状态转换为可保持或可传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。
全栈程序员站长
2022/07/08
7650
链路层是做什么的?
最大传输单元。链路层[以太网(1500字节)和802.3(1492字节)]对数据帧的长度存在限制。
爬蜥
2019/07/09
1.3K0
dubbo 和 zokeeper 是分别用来做什么的?他们的关系到底是怎么样的?
之前在因公司产品项目做微服务拆分时使用了dubbo和zokeeper但感觉对他们的认知还是不太清楚。所以最近重新复习看了一下。用通俗的方式些事一下(如有错误请指正)
兜兜毛毛
2019/10/23
1K0
dubbo 和 zokeeper 是分别用来做什么的?他们的关系到底是怎么样的?
UniPro是用来干嘛的?
UniPro是一款项目管理工具,只要需要做项目管理的企业,无论是长期项目还是短期项目,无论是软件开发还是硬件制造,但凡是需要管理项目需求、立项、执行、进度、落地、复盘、数据分析等方面,均可使用UniPro来帮助研发部门、IT部门甚至是非IT部门进行科学的、可视化的项目管理工作。
UniPro
2023/04/07
1.3K0
Python用来做Web开发的优点!
Python是世界上最受欢迎的编码语言之一,在80年代后期首次受到ABC和Modula-3语言的影响而被概念化。从1991年的第一个版本到成为开源项目的2.0版本,它已经走了很长一段路,直到今天,它正在聚集一个庞大且专业的社区,该社区正在不断改进技术。
python学习教程
2020/07/21
1.1K0
堡垒机连接服务器使用什么协议?堡垒机是用来干什么的?
对于从事运维工作的小伙伴们来说,堡垒机一词肯定不会陌生。其实堡垒机也就是近几年来才流行起来的,一开始使用的人数并不多,是由于大家对它的功能还不是特别了解。随着市场需求的不断扩大,很多企业都开始使用起了堡垒机,让所有的生产问题都能够得到具体的追踪,为企业安全提供了保障。那么,堡垒机连接服务器使用什么协议呢?一起来了解一下吧!
用户8715145
2021/10/12
2K0
在Mysql中CHAR和VARCHAR如何选择?给定的长度到底是用来干什么的?
在MySQL数据库中,用的最多的字符型数据类型就是Varchar和Char.。这两种数据类型虽然都是用来存放字符型数据,但是无论从结构还是从数据的保存方式来看,两者相差很大。而且其具体的实现方式,还依赖与存储引擎。我这里就以大家最常用的MYISAM存储引擎为例,谈谈这两种数据类型的差异。在后续建议中,也是针对这种存储类型而言的。
袁新栋-jeff.yuan
2020/08/26
3.7K0
在Mysql中CHAR和VARCHAR如何选择?给定的长度到底是用来干什么的?
点击加载更多

相似问题

return函数是用来做什么的?

10

serialize到底是做什么的?

30

这段PHP代码是用来做什么的?

30

在php中{}是用来做什么的?

22

函数的指针是用来做什么的?

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文