当前位置: 首页 > news >正文

织梦网站发稿说明今日头条新闻军事

织梦网站发稿说明,今日头条新闻军事,自建wordpress,电子商务课程序列化和反序列化的作用 1.序列化:将对象转化成数组或者字符串的形式 2.反序列化:将数组或字符串的形式转化为对象 为什么要进行序列化 这种数据形式中间会有很多空格,不同人有不同的书写情况,可能还会出现换行的情况 为此为了…

序列化和反序列化的作用

1.序列化:将对象转化成数组或者字符串的形式

2.反序列化:将数组或字符串的形式转化为对象

为什么要进行序列化

这种数据形式中间会有很多空格,不同人有不同的书写情况,可能还会出现换行的情况

为此为了方便数据传输,我们可以进行序列化操作将其变为一个字符串的形式进行传输

案例分析

我们在写PHP代码的时候会写到类这种数据形式

<?php
class demotest{public $name='xiaodi';public $sex='man';public $age=29;public $arr=array('abc',123,'demo');
}
$dd=new demotest();
echo serialize($dd);

类似于这样,原来的数据中就有很多的空格、换行、缩进等额外的数据,这些数据没有用,而且不同人写代码的习惯不同,这些东西都会有差异,而且不可避免在传输过程中可能会产生错误,为此,绕过将数据进行了序列化,就会将传输的数据以统一的格式进行传输,这样就比较规范而且减少出错的概率。

因此为了保证数据传递的效率和正确性,我们可以把数据进行序列化后进行传输

 序列化后各字段的含义

 O:表示的是序列化一个对象,8是对象名称的长度,3 表示有3个属性 s表示第一个属性是字符串类型 4 表示的是第一个属性的字符串长度 name是第一个属性的属性名称,以分号结尾,s表示对象的属性为字符串,长度是6,值为xiaodi,后面的以此类堆......对象的属性相关信息都使用 {}括起来,当然对于数组这样复杂的数据结构我们直接进行输出查看格式内容即可

序列化的内容是什么

序列化只序列化成员变量,不序列化成员函数

案例分析
<?php
class a{public $username='xxxxxx';public $password='xxxxxx';public function daying(){echo 'hello';}public function __destruct(){echo 'over';}
}
$aa= new a();
echo serialize($aa);

我们在序列化的时候一个类中可能有属性也会有方法,但是我们在序列化的时候只会序列化一个对象的属性,不会序列化对象的方法。如图,我们定义的类a中有username和password两个属性,也有daying()和__destruct()两个方法,我们可以看到在序列化后a对象中之序列化了两个属性,为此两个方法并没有被序列化,输出的over是因为触发了destruct()方法打印出来的结果,与序列化无关(ps:主要是说明序列化只要是函数都不会被序列化)

反序列化--将序列化的数据还原成对象

将序列化的数据还原成对象

反序列化后的对象里面的值是反序列化里面的值决定,与原来的预定义的值无关--通过反序列化我们可以修改原来类中属性的值

<?php
class demotest{public $a='hello';public function demo(){echo $this->a;}	
}
$dd=new demotest();
echo(serialize($dd));
$ee='O:8:"demotest":1:{s:1:"a";s:5:"nihao";}';
$ff=urldecode($ee);
$gg= unserialize($ff);
$gg->demo();

本来在demodest中a的值是hello,但是我们通过反序列化将a的值改为nihao后,输出的中值改为了nihao

公有属性和私有属性

在进行反序列化的过程中,对用私有属性,受保护的属性,公有属性来说其反序列化后的结果是不相同。具体结果如图所示

<?php
class demo{public $name="demo";private $sex="man";protected $age=18;}
$d=new demo();
echo serialize($d);
?>

对于一个对象来说它的公有属性序列化后的属性名还是原来的字符串

对于一个对象来说它的私有属性序列化后的属性名是%00+类名+%00+属性名

对于一个对象来说它的受保护的属性序列化后的属性名是 %00+*+%00+属性名

写在最后

如有错误,请及时指出,感谢

http://www.bdqn1.cn/news/46.html

相关文章:

  • 成都网络营销搜索引擎优化的缺点包括
  • 广东省网站备案查询百度新闻最新消息
  • 动态网站站内搜索百度关键词流量查询
  • 用dw制作公司网站电商运营助理
  • 网站后台管理系统怎么上传珠海seo快速排名
  • 1元建站昆明网络推广方式有哪些
  • 云南专业做网站多少钱广州线下培训机构停课
  • 便宜的网站建设移动优化课主讲:夫唯老师
  • 用laravel做的网站大白兔网络营销策划书
  • 深圳建网站培训机构网站制作费用多少
  • 生物制药公司网站建设网站优化基本技巧
  • 北京大兴区住房和城乡建设委员会网站湖南seo网站开发
  • 怎么做微拍网站推广资讯
  • 炫彩发光字制作网站江苏网页设计
  • 网站开发技术包括seo工具是什么意思
  • 洛阳网站制作平板电视seo优化关键词
  • 管理培训网站建设百度信息流推广是什么意思
  • 做网站竞争大吗百度引擎
  • 从化营销网站建设代运营竞价公司
  • 织梦制作wap网站百度指数移动版怎么用
  • 网站图片地址怎么做的营销型网站建设实训总结
  • 如何做网站百科新浪舆情通
  • web网站开发怎么盈利北海seo快速排名
  • 用dw做的代码怎么放在网站上全网营销推广方案
  • 网站优化怎样提高网站用户体验网站设计制作培训
  • 自己怎么制作假山莱阳seo排名
  • 做网站的接私活犯法吗电商怎么做新手入门
  • 网站seo优化推广怎么做百度官方客户端
  • 西安高端网站开发关键词优化报价查询
  • 微信如何开发小程序杭州优化公司哪家好