
正文
php数据转换方法 php 转go
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php的几种常用的数据交换格式
序列化(serialize)、变量、xml、json是PHP常见的4种文本数据交换形式。
一、序列化与反序列化
使用serialize与unserialize将可以将任何数据类型(除了资源),格式成文本数据格式,是php内置的,使用最方便,可以原汁原味将数据、对象等保存与恢复再用。
好处:使用方便,支持好。
不好:没有通用性只有php能够支持,文本化体积大。
可能:速度可能会慢。
二、变量
将数据写成标准的PHP赋值语句存放在文本文件中,在程序执行过程中包含进来,通过执行赋值的操作来恢复变量。discuz经常使用这种方式做为数据的缓存。
好处:直观。
不好:没有通用性只有php能够支持;使用不方便,需要自己将数据转化成赋值语句;变量的接收方式也不够灵活。
可能:速度会快些,与序列化相比存储体积小。
三、xml
将数据格式化成xml存储与解析。
好处:通用性强,可以与其它程序语言的数据交换;php已经有内置的函数支持。
不好:文本化的体积大;格式化与反解效率低。
四、json
也是类似于xml的一种文本型数据交换格式。是一种为解决xml浏览器数据交换复杂而出现一种新的数据格式。
好处:通用性强,目前主流的语言已经内置支持了,5.2(具体请查手册)版本已经内置支持。php5以后使用很方便,使用方便与序列化类似。与xml相比有更好的兼容性、效率高,尤其是对于浏览器。而数据格式体积很小。
可能:效率问题,尤其是解析的效率问题。
相关问答
Q1: 如何把对象转化为字符串 php
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php,填充问题基础代码。
2、在index.php中,输入代码:echo json_encode($a);。
3、浏览器运行index.php页面,此时A对象被转化为字符串后被打印出来了。
Q2: PHP中如何进行数据类型转换?举出至少3个例子
强制类型转换一般分为隐式和显式的,
元数据 显式 隐式
$n = 100; (string)$n $n . ''
$n = '100'; (int)$n $n + 0;
$b = 1; (boolean)$b !$b
.......
Q3: 怎样在PHP中把16进制HEX数据转换为2进制数据呢?
十六进制转为二进制有两种理解方法,第一是十六进制字符串转二进制字符串,第二是十六进制数转二进制数,下面分别介绍2种转换方法:
1.hex2bin函数可以将十六进制字符串转换为二进制字符串,详细用法如下:
hex2bin — 转换十六进制字符串为二进制字符串
string hex2bin(string $data)
转换十六进制字符串为二进制字符串。
参数:
data:十六进制表示的数据
返回值:
返回给定数据的二进制表示 或者在失败时返回 FALSE。
异常:
如果输入的十六进制字符串是奇数长数或者无效的十六进制字符串将会抛出E_WARNING 级别的错误。
示例:
$hex = hex2bin("6578616d706c65206865782064617461");
echo $hex;//example hex data(其中16进制代表的是ascii码)
2.base_convert是真正意义上的进制转换函数
base_convert — 在任意进制之间转换数字
string base_convert( string $number, int $frombase, int $tobase)
返回一字符串,包含 number以 tobase 进制的表示。number 本身的进制由frombase指定。frombase 和 tobase 都只能在2 和 36 之间(包括 2 和 36)。高于十进制的数字用字母 a-z 表示,例如a 表示 10,b 表示 11 以及 z 表示 35。
参数:
number:要转换的数字
frombase:原始进制
tobase:转换后的进制
示例:
$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);//101000110111001100110100
Q4: php的数据类型转换有几种方式
PHP数据类型有三种转换方式php数据转换方法:
在要转换php数据转换方法的变量之前加上用括号括起来的目标类型
使用3个具体类型的转换函数,intval()、floatval()、strval()
使用通用类型转换函数settype(mixed var,string type)
php数据转换方法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php 转go、php数据转换方法的信息别忘了在本站进行查找喔。







