序列化(serialize)、变量、xml、json是PHP常见的4种文本数据交换形式。
创新互联是专业的郊区网站建设公司,郊区接单;提供成都网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行郊区网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
一、序列化与反序列化
使用serialize与unserialize将可以将任何数据类型(除了资源),格式成文本数据格式,是php内置的,使用最方便,可以原汁原味将数据、对象等保存与恢复再用。
好处:使用方便,支持好。
不好:没有通用性只有php能够支持,文本化体积大。
可能:速度可能会慢。
二、变量
将数据写成标准的PHP赋值语句存放在文本文件中,在程序执行过程中包含进来,通过执行赋值的操作来恢复变量。discuz经常使用这种方式做为数据的缓存。
好处:直观。
不好:没有通用性只有php能够支持;使用不方便,需要自己将数据转化成赋值语句;变量的接收方式也不够灵活。
可能:速度会快些,与序列化相比存储体积小。
三、xml
将数据格式化成xml存储与解析。
好处:通用性强,可以与其它程序语言的数据交换;php已经有内置的函数支持。
不好:文本化的体积大;格式化与反解效率低。
四、json
也是类似于xml的一种文本型数据交换格式。是一种为解决xml浏览器数据交换复杂而出现一种新的数据格式。
好处:通用性强,目前主流的语言已经内置支持了,5.2(具体请查手册)版本已经内置支持。php5以后使用很方便,使用方便与序列化类似。与xml相比有更好的兼容性、效率高,尤其是对于浏览器。而数据格式体积很小。
可能:效率问题,尤其是解析的效率问题。
1、首先需要新建一个74.php。
2、然后需要按照图示代码输入php网页的结构(?php?)。
3、然后需要按照图示代码声明PHP与浏览器交互的文件类型和编码。
4、然后需要按照图示代码定义一个浮点形变量$a = 123。
5、然后需要按照图示代码输入代码 $b = $a . 'hello',让$a的数字转换成字符串。
6、然后需要按照图示代码使用var_dump()函数,输出$b。
7、运行网页,查看变量类型确实成功将数字转化为字符串。
因为不支持代码标签了,上面放图,下面是代码
php API 中没有可以直接打到效果的函数,在此封装了一个
下面是代码
代码部分
?php
/**
* $list 数组
* $column_num 数据列数量
*/
function groupBy($list, $column_num){
$group = [];
$keys = array_keys($list);
for ($i=0; $i$column_num; $i++){
$item = [];
foreach ($keys as $key){
$item[$key] = $list[$key][$i];
}
$group[] = $item;
}
return $group;
}
$temp = [
'bg' = ['bg1','bg2','bg3'],
'img' = ['img1','img2','img3'],
'url' = ['url1','url2','url3'],
];
$list = groupBy($temp,3);
echo(json_encode($list));
?