• 技术文章 >PHP >PHP教程

    PHP中Zval是什么

    小妮浅浅小妮浅浅2021-06-09 11:25:11原创5359

    1、概念

    Zval是zend中另一个非常重要的数据结构,用来标识并实现PHP变量。包含了PHP中的变量值和类型的相关信息。

    2、组成

    type:指定了变量所述的类型(整数、字符串、数组等)

    refcount&is_ref:用来实现引用计数(后面具体介绍)

    value:核心部分,存储了变量的实际数据

    3、实例

    struct _zval_struct {
        union {
            zend_long         lval;             /* long value */
            double            dval;             /* double value */
            zend_refcounted  *counted;
            zend_string      *str;
            zend_array       *arr;
            zend_object      *obj;
            zend_resource    *res;
            zend_reference   *ref;
            zend_ast_ref     *ast;
            zval             *zv;
            void             *ptr;
            zend_class_entry *ce;
            zend_function    *func;
            struct {
                uint32_t w1;
                uint32_t w2;
            } ww;
        } value;
        union {
            struct {
                ZEND_ENDIAN_LOHI_4(
                    zend_uchar    type,         /* active type */
                    zend_uchar    type_flags,
                    zend_uchar    const_flags,
                    zend_uchar    reserved)     /* call info for EX(This) */
            } v;
            uint32_t type_info;
        } u1;
        union {
            uint32_t     var_flags;
            uint32_t     next;                 /* hash collision chain */
            uint32_t     cache_slot;           /* literal cache slot */
            uint32_t     lineno;               /* line number (for ast nodes) */
            uint32_t     num_args;             /* arguments number for EX(This) */
            uint32_t     fe_pos;               /* foreach position */
            uint32_t     fe_iter_idx;          /* foreach iterator index */
        } u2;
    };

    以上就是PHP中Zval的介绍,希望对大家有所帮助。更多php学习指路:php教程

    专题推荐:php zval
    品易云
    上一篇:PHP中hash table有哪些特点 下一篇:php引用计数如何实现垃圾回收

    相关文章推荐

    • php构造方法__construct()是什么• php中Swoole的模块介绍• php命令行中进行断点• php方法断点如何实现• php中Suhosin是什么• php中如何配置Cookie加密• php Mhash算法的加密• php文件Hash如何使用• php增量Hash函数的使用• php中的SAPI是什么• php中CGI模式的介绍• php FastCGI模式如何理解• php FastCGI模式的优缺点• php有哪些文件包含漏洞• php不能生成图片的解决办法• php正则替换函数的整理• php中n阶乘的实现方法• php rtrim()函数删除字符• PHP有哪些屏蔽错误的方法• php字符串的截取方式• PHP内部函数是什么• PHP中strval()函数如何使用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网