serialize函数有何用?和 JSON有什么区别

serialize函数有何用?和 JSON有什么区别

官方解释:

serialize
(PHP3 >= 3.0.5 , PHP4)
serialize ---  产生一个可储存的值的表示

语法 : string serialize (mixed value)

说明 : 
serialize( )传回一个包含由value所表示的byte-stream字符串,它能储存在任何地方。
这可用来储存或传递PHP的值,而不失去它们的型态和结构。

使用unserialize( )能使serialized字符串再次成为原来PHP的值。serialize( )能处理的型态有integer、double、string、array(多面的)、object(物件的属性将会serialized,但方法则会lose)

注意:

serialize() 可处理除了 resource 之外的任何类型。

使用演示:

<?php
$a=array(‘a‘,‘b‘,‘c中国‘);
$a=serialize($a);

echo $a.‘<br />‘;

$b=unserialize($a);
print_r($b);

个人理解(通俗的讲),就是用来存各种格式的东西,方便传递。

和json有什么区别呢?

JSON是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON是在AJAX中代替XML交换数据的更佳方案。

$arr = array
       (
          ‘Name‘=>‘Peter‘,
          ‘Age‘=>20
       );

$jsonencode = json_encode($arr);
echo $jsonencode;
{"Name":"Peter","Age":20}

参考学习地址:

PHP serialize & JSON 解析

php中serialize和unserialize用法

serialize函数有何用?和 JSON有什么区别

时间: 2024-08-29 15:41:12

serialize函数有何用?和 JSON有什么区别的相关文章

PCB MS SQL 标量函数(CLR) 实现转Json方法

一.准备需转为json的数据 在数据库中执行一段SQL返回的数据 需转换后的JSON字符串的效果 [{"TechName":"开料","ItemName":"综合利用率是否为最高","ItemPara":"/"},{"TechName":"开料","ItemName":"综合利用率","ItemPa

jQuery.serialize()函数

jQuery.serialize()函数用于序列化一组表单元素,将表单内容编码为用于提交的字符串. jQuery.serialize()函数常用于将表单内容序列化,以便用于AJAX提交. 该函数主要根据用于提交的有效表单控件的name和value,将它们拼接为一个可直接用于表单提交的文本字符串,该字符串已经过标准的URL编码处理(字符集编码为UTF-8). 具体举例: <form id="supplier-search-form"> <input type="

boost::serialization 拆分serialize函数

在前篇 boost::serialization 用基类指针转存派生类(错误多多,一波三折)文中我们都是使用serialize函数来实现序列化,其代码格式如下: private: friend class boost::serialization::access; template<typename Archive> void serialize(Archive& ar, const unsigned int version) { ar & BOOST_SERIALIZATIO

Python序列化模块pickle和json使用和区别

这是用于序列化的两个模块: ? json: 用于字符串和python数据类型间进行转换 ? pickle: 用于python特有的类型和python的数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.load pickle模块提供了四个功能:dumps.dump.loads.load 那pickle和json有什么区别呢? json是可以在不同语言之间交换数据的,而pickle只在python之间使用. json只能序列化最基本的数据类型,而pickle可以序列化

说说JSON和JSONP区别

前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持WebSocket,因此都不能算是ST2的原生解决方案,原生的只有AJAX. 说到AJAX就会不可避免的面临两个问题

python判断字符串,str函数isdigit、isdecimal、isnumeric的区别

s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小写s.isupper() 所有字符都是大写s.istitle() 所有单词都是首字母大写,像标题s.isspace() 所有字符都是空白字符.\t.\n.\r 判断是整数还是浮点数a=123b=123.123 >>>isinstance(a,int)True>>>isinstance(b,floa

jQuery - 01. jQuery特点、如何使用jQuery、jQuery入口函数、jQuery和DOM对象的区别、jQuery选择器、

this指的是原生js的DOM对象 .css(""):只写一个值是取值,写俩值是赋值 window.onload   ===   $(document).ready(); $(""):获取元素   标签名..类名.#id jQuery特点 链式编程 jq.shou(3000).html(内容) 相当于 jq.shou(3000) jq.gtml(内容) 隐式迭代 隐式实用for循环.迭代 如何使用jQuery 引包 一定要在使用之前 <script src =

VC和gcc在保证函数static变量线程安全性上的区别

VC和gcc不同,不能保证静态变量的线程安全性.这就给我们的程序带来了很大的安全隐患和诸多不便.这一点应该引起我们的重视!尤其是在构造函数耗时比较长的时候,很可能给程序带来意想不到的结果.本文从测试代码开始,逐步分析原理,最后给出解决方案. 多线程状态下,VC不能保证在使用函数的静态变量的时候,它的构造函数已经被执行完毕,下面是一段测试代码: class TestStatic { public: TestStatic() { Sleep(1000*10); m_num = 999; } publ

eval()和JSON.parse()的区别

我们将一个字符串解析成json对象时可以使用两种方法: 假设我们有一个json格式的字符串: '{ "student" : [ {"name":"鸣人","age":17}, {"name":"小樱","age":17}, {"name":"佐助","age":17} ] }' 然后我们需要把它解析成json