精易论坛

标题: PHP - Json 与 序列化 [打印本页]

作者: dream518    时间: 2020-7-15 18:57
标题: PHP - Json 与 序列化

1 json



// json返回 类型 string
// json_encode() 编码为json格式的数组
// json_decode() 解析json格式的数组
function tianqi1(): string
{
    return json_encode(['city'=>'北京','today'=>'星期一','date'=>'2020年4月21日14:48:00']);
}
var_dump(tianqi1());
//输出 string(95) "{"city":"\u5317\u4eac","today":"\u661f\u671f\u4e00","date":"2020\u5e744\u670821\u65e514:48:00"}"
echo '<br>';
// 进行解码 当前解码为对象 object
$tianqi1 = json_decode(tianqi1());
var_dump($tianqi1);
// 输出 object(stdClass)#3 (3) { ["city"]=> string(6) "北京" ["today"]=> string(9) "星期一" ["date"]=> string(24) "2020年4月21日14:48:00" }

// 输出城市 访问对象
echo $tianqi1->city;

// 还有一种方式 在下面

echo '<hr>';

function tianqi2(): string
{
    return json_encode(['city'=>'北京','today'=>'星期一','date'=>'2020年4月21日14:48:00']);
}
// 进行解码 加个 true  解码为数组 array
$tianqi2 = json_decode(tianqi2(),true);
var_dump($tianqi2);
// 输出 array(3) { ["city"]=> string(6) "北京" ["today"]=> string(9) "星期一" ["date"]=> string(24) "2020年4月21日14:48:00" }

// 输出城市 访问数组
echo $tianqi2['city'];

2 serialize 序列化字符串



// serialize() 编码
// unserialize()  解码

function tianqi3():string
{
    return serialize(['city'=>'北京','today'=>'星期一','date'=>'2020年4月21日14:48:00']);
}

$tianqi3 = tianqi3();
var_dump($tianqi3);
//  输出string(101) "a:3:{s:4:"city";s:6:"北京";s:5:"today";s:9:"星期一";s:4:"date";s:24:"2020年4月21日14:48:00";}"
echo '<br>';
// 解码
$tianqi33 = unserialize($tianqi3);
var_dump($tianqi33);
// 输出array(3) { ["city"]=> string(6) "北京" ["today"]=> string(9) "星期一" ["date"]=> string(24) "2020年4月21日14:48:00" }
echo '<br>';
// 访问数组
echo $tianqi33['city'];
// 输出北京

# 换一种显示方式
printf('<pre>%s</pre>',print_r($tianqi33,true));
// 输出
// Array
// (
//     [zxsq-anti-bbcode-city] => 北京
//     [zxsq-anti-bbcode-today] => 星期一
//     [zxsq-anti-bbcode-date] => 2020年4月21日14:48:00
// )








欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4