`

php序列化函数数组与对象的方法

    博客分类:
  • php
阅读更多

php序列化函数数组与对象的方法

时间:2015-12-17 14:48:44来源:网络
导读:php格式化字符串并转换成数组或对象,php序列化处理的方法,在php中序列化变量的方法。
 

转自:http://www.xfcodes.com/php/shili/1730.htm

 

php格式化字符串并转换成数组或对象的好方法,即序列化处理。
有两种序列化变量的方法。
以下示例,使用 serialize() 和 unserialize() 函数:
 

复制代码代码如下:

// a complex array
$myvar = array(
 'hello',
 42,
 array(1,'two'),
 'apple'
);

// convert to a string
$string = serialize($myvar);

echo $string;
/* prints
a:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";}
*/

// you can reproduce the original variable
$newvar = unserialize($string);

print_r($newvar);
/* prints
Array
(
    [0] => hello
    [1] => 42
    [2] => Array
        (
            [0] => 1
            [1] => two
        )

    [3] => apple
)
*/

这是原生的 PHP 序列化方法。
然而,由于 JSON 近年来大受欢迎,PHP5.2 中已经加入了对 JSON 格式的支持。
现在你可以使用 json_encode() 和 json_decode() 函数:
 

复制代码代码如下:

// a complex array
$myvar = array(
 'hello',
 42,
 array(1,'two'),
 'apple'
); // www.xfcodes.com

// convert to a string
$string = json_encode($myvar);

echo $string;
/* prints
["hello",42,[1,"two"],"apple"]
*/

// you can reproduce the original variable
$newvar = json_decode($string);

print_r($newvar);
/* prints
Array
(
    [0] => hello
    [1] => 42
    [2] => Array
        (
            [0] => 1
            [1] => two
        )

    [3] => apple
)
*/

这将更为行之有效,尤其与 JavaScript 等许多其他语言兼容。
注意:对于复杂的对象,某些信息可能会丢失。

分享到:
评论

相关推荐

    PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例

    检测是否序列化后的字符串 模仿JAVASCRIPT的ESCAPE和UNESCAPE函数的功能 用curl函数读取远程文件 用file_getcontents提交数据 用php生成扭曲,有角度的验证图片(支持中文) 用正则加亮关键字 程序运行过程中...

    php-serializer:用于快速操作大型序列化数组的库

    PHP序列化程序该库正在进行中。 在使用phpunit之前测试任何构建。 用于快速操作大型序列化字符串的库, PHPSerializer 旨在提高的效率在 PHP 中,如果您有一个序列化数组,并且希望向该数组添加一个项目,则需要执行...

    详解PHP序列化反序列化的方法

    php 将数据序列化和反序列化其实就用到两个函数,serialize 和unserialize。 serialize 将数组格式化成有序的字符串 unserialize 将数组还原成数组 例如: $user=array('Moe','Larry','Curly'); $user=serialize($...

    解析PHP多种序列化与反序列化的方法

    1. serialize和unserialize函数这两个是序列化和反序列化PHP中数据的常用函数。复制代码 代码如下:<?php$a = array(‘a’=> ‘Apple’ ,’b’ => ‘banana’, ‘c’ => ‘Coconut’);//序列化数组$s = serialize...

    PHP 序列化和反序列化函数实例详解

    序列化与反序列化 把复杂的数据类型压缩到一个字符串中 serialize() 把变量和它们的值编码成文本形式 unserialize() 恢复原先变量  1.创建一个$arr数组用于储存用户基本信息,并在浏览器中输出查看结果; $arr=...

    PHP去除空数组且数组键名重置的讲解

    php空数组的话,能够运用 php函数array_filter() . array array_filter ( array [, callback callback] ) array_filter() 顺次将 array 数组中的每个值传递到 callback 函数。假如 callback 函数回来 TRUE,则 ...

    PHP数组对象与Json转换操作实例分析

    本文实例讲述了PHP数组对象与Json转换操作。分享给大家供大家参考,具体如下: 代码 <?php //数组转对象 function arrayToObject($e){ if( gettype($e)!='array' ) return; foreach($e as $k=>$v){ if( ...

    PHP序列化的四种实现方法与横向对比

    一、PHP 序列化变量的 4 种方法 序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性...

    php json与xml序列化/反序列化

    在web开发中对象的序列化与反序列化经常使用,比较主流的有json格式与xml格式的序列化与反序列化,今天想写个jsop的小demo,结果发现不会使用php序列化,查了一下资料,做个笔记简单数组json格式序列化/反序列化 ...

    php数组编码转换示例详解

    最开始的思路,将数组序列化后用iconv函数转换编码,之后再反序列化,代码如下: 复制代码 代码如下:unserialize(iconv(‘gbk’,’utf-8′,serialize($array)));  得到的结果是空白,后来想起来配置文件里设置了默认...

    PHP自定义递归函数实现数组转JSON功能【支持GBK编码】

    本文实例讲述了PHP自定义递归函数实现数组转JSON功能。分享给大家供大家参考,具体如下: 问题: 由于最近的一个项目中要给别的公司提供接口,给他们喂 GBK 编码的 json 数据,但是有一个问题是 PHP 中的 json_...

    php函数serialize()与unserialize()用法实例

    想要将已序列化的字符串变回 PHP 的值,可使用unserialize()。serialize()可处理除了resource之外的任何类型。甚至可以serialize()那些包含了指向其自身引用的数组。你正serialize()的数组/对象中的引用也将被存储...

    JS实现的JSON序列化操作简单示例

    本文实例讲述了JS实现的JSON序列化操作。分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <title>JOSN对象</title> [removed]...

    PHP和MySQL Web开发第4版pdf以及源码

    3.6.2 使用asort()函数和ksort()函数对相关数组排序 3.6.3 反向排序 3.7 多维数组的排序 3.7.1 用户定义排序 3.7.2 反向用户排序 3.8 对数组进行重新排序 3.8.1 使用shuffle()函数 3.8.2 使用array_reverse()...

    PHP Version 7.4.30

    php用途: 1、动态网页开发; 2、服务器端脚本; 3、命令行脚本; 4、图像处理; 5、数据库操作;...6、版本控制系统;...8. 新的自定义对象序列化机制 9. 为引用提供的反射 10. 支持从 __toString() 方法抛出异常

    PHP和MySQL WEB开发(第4版)

    3.6.2 使用asort()函数和ksort()函数对相关数组排序 3.6.3 反向排序 3.7 多维数组的排序 3.7.1 用户定义排序 3.7.2 反向用户排序 3.8 对数组进行重新排序 3.8.1 使用shuffle()函数 3.8.2 使用array_reverse()函数 ...

    浅谈php函数serialize()与unserialize()的使用方法

    这个函数作用就是序列化数据,返回一个可存储的字符串,该函数有利于存储或传递PHP的值,同时不丢失其类型和结构。所以我们在cms数据库里面经常看到这样的结构。 一般,我们将复杂或者数据量多而没有必要分开存储的...

    PHP和MySQL Web开发第4版

    3.6.2 使用asort()函数和ksort()函数对相关数组排序 3.6.3 反向排序 3.7 多维数组的排序 3.7.1 用户定义排序 3.7.2 反向用户排序 3.8 对数组进行重新排序 3.8.1 使用shuffle()函数 3.8.2 使用array_reverse()...

    php-7.4.3-nts x64.zip

    PHP7.4.3-nts 官方资源。解压到相应目录即可使用! 新特性: 支持数组内解包 – 数组扩展Spread运算符; 箭头函数 2.0 (更加简短的闭包); NULL 合并运算符; 弱引用;...新的自定义对象序列化机制;

Global site tag (gtag.js) - Google Analytics