zoukankan      html  css  js  c++  java
  • PHP数组序列化和反序列化

    PHP序列化在我们实际项目运行过程中是一种非常常见的操作。比如当我们想要将数组值存储到数据库时,就可以对数组进行序列化操作,然后将序列化后的值存储到数据库中。其实PHP序列化数组就是将复杂的数组数据类型转换为字符串,这样就方便数组存库操作。
    
    我们对PHP数组进行序列化和反序列化操作,主要就用到两个函数,serialize和unserialize。
    
    一、PHP数组序列化:serialize
    
    <?php
    
    $data=['PHP','HTML','Java','Python'];
    
    echo serialize($data);
    
    这里我们创建了一个简单的数组变量$data,然后我们通过serialize函数对这个数组进行序列化操作。
    
    echo出来的结果如下:
    a:
    4:{i:0;s:3:"PHP";i:1;s:4:"HTML";i:2;s:4:"Java";i:3;s:6:"Python";} 我们再给这段序列化后的数据进行解释,方便新手朋友们了解学习。 a:表示整体的数据类型,这里是array; a:4中的4:表示数组元素的个数; i:表示int,整型; 0:表示数组元素的下标; s:表示string,即数组值的类型; s:3中3:表示数组值的长度。 注:serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。 二、PHP反序列化:unserialize <?php $data=['PHP','HTML','Java','Python']; $str=serialize($data); var_dump(unserialize($str)); 如果我们想要将序列化后的数据转换为数组,就需要用到unserialize函数。 如上诉代码,我们将$str变量反序列化后的结果如下图:
    注:unserialize() 是对单一的已序列化的变量进行操作,将其转换回PHP 的值。
  • 相关阅读:
    纹理加载和异步
    地板上创建批量小方块
    创建自定义几何体(以立方体为例)
    WTForms
    angular和vue的差别
    vuejs简单介绍特点
    angularjs简单介绍和特点
    flask重要点
    redis
    DRF之认证组件源码解析
  • 原文地址:https://www.cnblogs.com/sgm4231/p/9732897.html
Copyright © 2011-2022 走看看