zoukankan      html  css  js  c++  java
  • 数据序列化/反序列化和有关类和对象的系统函数和运算符

    一、数据(变量)序列化/反序列化

    什么叫序列化:

      就是将一个变量的数据“转换为”字符串——但并不是类型转换。其目的(意图)是将该字符串“存储起来”(比如存为文本文件)然后在其他时间(或其他运行环境/电脑)上,将其又恢复原样。

    比如:很多有些设计中,都有一个功能:保留场景及当前所有装备,武器,服装。。。。 则也就是对应了有“反序列化”工作

    序列化的做法非常简单:

      1$str = serialize($变量); //此时该变量的数据就变成了字符串,并存入变量$str1;

    但通常的应用出,此时就应该将其保存为文件(或数据库),如下:

      2file_put_contents(文本文件路径”,   $str);

    反序列化操作也同样简单:

      1$str = file_get_contents(文本文件路径”); //先从文本文件中取得内容

      2$v1 = unserialize( $str); //反序列化,此时$v1这个变量中存储的就是原来变量内容(和类型)

    举例:

         

    然后在另一个文件中进行反序列化操作:

         

    二、一些有关类和对象的系统函数和运算符

    class_exists(), :判断某个类是否存在(定义过)

    interface_exists(), :判断接口是否存在

    get_class():获取某个对象的“所属类名”

    get_parent_class(), :获取某个对象的“所属父类的类名”

    get_class_methods(), :获取一个类的所有方法,返回一个索引数组,就是这些方法的名字。

    get_class_vars(), :获取一个类的所有属性,返回一个数组,下标为属性名,值为属性值。

    get_declared_classes():获得所有声明过的类(含系统中的类)

    is_object():判断是否对象

    get_object_vars():获得对象的所有属性,返回一个数组,下标为属性名,值为属性值

    运算符:

      new

      instanceof: 判断一个对象是否是某个类的“实例”

         

    注意一个现象:

         

  • 相关阅读:
    未能写入输出文件..”“拒绝访问。”的解决办法
    SecureCRT显示中文和语法高亮
    危险无处不在 Html标签带来的安全隐患(转载)
    具有负载均衡功能的MySQL服务器集群部署及实现
    Linux以及各大发行版介绍
    yum源 redis 设置
    freebsd+apache+mysql+php+phpmyadmin+zend+discuz傻瓜式教程
    VS2005无法切换到设计视图的解决方案
    IIS不能下载EXE的解决方法
    JQuery优秀插件征集
  • 原文地址:https://www.cnblogs.com/wjglm/p/9811315.html
Copyright © 2011-2022 走看看