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

网站开发语言查询 蔡学镛seo是什么化学名称

网站开发语言查询 蔡学镛,seo是什么化学名称,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.zhongyajixie.com/news/23229.html

相关文章:

  • 广州做网站平台网络推广公司
  • 已有网站 需要整改 怎么做百度sem推广
  • 上海工厂网站建设个人小白如何做手游代理
  • 南通医院网站建设网络营销有哪几种方式
  • 慈溪网站制作哪家最好百度手机seo
  • 南联网站建设哪家好营销软文100字
  • 山东外贸国际网站建设河南郑州最新事件
  • 网站的种类有哪些百度指数网站
  • 太原网站建设丿薇潜江seo
  • 朝阳seo建站竞价代运营
  • 用什么软件做网站最简单seo案例
  • 做网站界面尺寸百度首页的ip地址
  • 重庆做网站推广怎么理解搜索引擎优化
  • 蝉知cms郑州网站优化平台
  • 做么自己做一个网站百度点击软件名风
  • 广州网站设计首选刻搜狗网
  • 东莞智通人才网官网莆田关键词优化报价
  • wordpress centos 7短视频搜索优化
  • 新手学做网站相关书籍宁波seo排名优化哪家好
  • 网站制作绩效考核表万网域名官网
  • 网站建设的方案费用长春seo
  • 邛崃建设网站首页培训机构不退钱最怕什么举报
  • 网站开发有什么知识营销案例
  • 计算机应用网站建设与维护是做什么刷seo关键词排名软件
  • 东莞网站建设分享seo怎么建立企业网站免费的
  • 怎么样建设企业网站免费二级域名申请网站
  • 盐城网站开发厂商如何推广我的网站
  • 网站服务器建设合同女生seo专员很难吗为什么
  • 邳州哪家做百度推广网站防疫管控优化措施
  • 衢州+做+网站google怎么推广