php不能序列化吗
时间:2022-04-28 [网络编程]作者:fabuyuan 浏览:6 次
php能实现序列化。在php中,可以利用serialize()函数实现序列化,将值转换为一个可以存储的字符串,语法“serialize(要序列化的变量)”;还可使用unserialize()函数实现反序列化,重新把字符串变回PHP原来的值。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
所谓序列化,就是将一个在内存中的变量转换为可保存或传输的字符串的过程。而反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来可以轻松的完成数据的存储和传输操作,使得程序更具维护性。
php也能实现序列化。
在php中,可以利用serialize() 函数实现序列化,将值转换为一个可以存储的字符串;还可使用unserialize() 函数能够重新把字符串变回 PHP 原来的值,也就是反序列化。
serialize() 函数的语法格式如下:
serialize(mixed $value)
其中 $value 就是要序列化的变量。
serialize() 函数可以处理除了 resource(资源)之外的任何类型。当序列化对象时,PHP 会在序列动作之前调用该对象的 __sleep() 成员函数。这样就允许对象在被序列化之前做任何清除操作。类似的,当使用 unserialize() 反序列化对象时,将调用 __wakeup() 成员函数。
【示例】使用 serialize() 函数序列化一个对象。
<?php header('content-type:text/html;charset=utf-8'); class WebSit{ public $name; public $url; function __construct($name, $url){ $this->name = $name; $this->url = $url; } } $websit = new WebSit('站长家园', 'https://www.adminjie.com/'); $ser_str = serialize($websit); echo $ser_str; ?>
扩展知识:反序列化
当使用 serialize() 函数将对象序列化后,可以将这个得到的字符串保存到文件或者数据库中,然后在需要的地方使用 unserialize() 函数将这个字符串反序列化,unserialize() 函数的语法格式如下:
unserialize(string $str)
其中,$str 为使用 serialize() 函数序列化后的字符串。如果传入的字符串不可被反序列化,则会返回 FALSE,并产生一个 E_NOTICE。
【示例】反序列化上面得到的字符串。
<?php header('content-type:text/html;charset=utf-8'); class WebSit{ public $name; public $url; function __construct($name, $url){ $this->name = $name; $this->url = $url; } } $str = 'O:6:"WebSit":2:{s:4:"name";s:12:"站长家园";s:3:"url";s:19:"https://www.adminjie.com/";}'; $websit = unserialize($str); var_dump($websit); ?>
推荐学习:《PHP视频教程》
以上就是php不能序列化吗的详细内容,更多请关注站长家园其它相关文章!
本文标签: php
转载请注明来源:php不能序列化吗
本文永久链接地址:https://www.adminjie.com/post/11752.html
免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。
更多精彩内容
- VUE中V-IF条件判断改变元素的样式操作
- Discuz如何解决安装时报错run_sql_error
- 低版本VS项目在VS2019无法正常编译的问题
- PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
- Oracle数据库的实例/表空间/用户/表之间关系简单讲解
- RSA2是啥?PHP-RSA2签名验证怎么实现?
- 华为dubal20是什么型号
- ana an00华为是什么型号
- html5的标题标记一共有几个等级
- 电脑显示信号线无连接是什么意思
- app是什么应用程序的简称
- html5中onclick是什么意思
- angular与bootstrap的区别是什么
- vivov1818a是什么手机型号
- 超链接的作用是什么

- 最新文章
-
-
浅析Vue中的插件和组件,聊聊它们的区别!
组件是什么?插件是什么?下面本篇文章带大家了解一下Vue中的插件和组件,聊聊插件和组件的区别,希望对大家有所帮助!一、组件是什么回顾以前对组件的定义:组件就是把...
-
带你搞懂Java结构化数据处理开源库SPL
本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对...
-
图文详解怎么用Python绘制动态可视化图表
本篇文章给大家带来了关于python的相关知识,其中主要介绍了关于绘制动态可视化图标的相关问题,使用Python的Plotly图形库,让你可以毫不费力地生成动画...
-
JavaScript高级语法学习之严格模式
本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于严格模式的相关问题,严格模式很好理解,是一种具有限制性的JavaScript模式,从而...
-
归纳总结Oracle视图知识点
本篇文章给大家带来了关于Oracle的相关知识,其中主要介绍了关于视图的相关问题,视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,下面一起来...
-
- 热门文章
-
-
VUE中V-IF条件判断改变元素的样式操作
这篇文章主要介绍了VUE中V-IF条件判断改变元素的样式操作,具有很好的参考价值,希望对大家有所帮助。一起跟随想过来看看吧...
-
Discuz如何解决安装时报错run_sql_error
问题环境VMware虚拟机Centos7.3PHP7.0MySQL8.0NGINX1.14Discuz3.4问题还原本地环境为PHP5.6+MySQL5.6在安...
-
低版本VS项目在VS2019无法正常编译的问题
低版本VS项目在VS2019无法正常编译的问题这里指的编译并不准确,只是为了方便说明。后有(未安装),201?...
-
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
实现原理使用redis链表来做,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行,推荐使用。实现步骤第一步,先将商品库存入队列/**.trigge...
-
Oracle数据库的实例/表空间/用户/表之间关系简单讲解
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。我们用这些高级权限账号...
-