手机版

PHP核心之PHP变量的使用:PHP变量介绍

2019-09-10 阅读 :

为了在 PHP 核心中使用变量,就必须要学会 PHP 所使用的基本概念的差异。首先,PHP 是一门动态的弱类型语言。其次,PHP 的写机制里会使用内存处理的引用计数的复本。请查阅引用计数基本知识 章节以获得如何使用计数和引用的细节。

PHP 变量,通常来说,由两部分组成:标签(例如,可能是符号表中的一个条目)和实际变量容器。在此手册的绝大部分内容中都是针对变量容器。

变量容器,在代码中称为 zval,掌握了所需处理变量的所有数据。 包括实际值、当前类型、统计指向此容器的标签的数量,和指示这些标签是引用还是副本的标志。 在 PHP 5.3 中,有关结构可在 Zend/zend.h 中找到,类似于:

typedef struct _zval_struct zval;typedef union _zvalue_value {    long lval;                 /* long value */    double dval;               /* double value */    struct {                   /* string type */        char *val;        int len;    } str;    HashTable *ht;             /* hash table value */    zend_object_value obj;} zvalue_value; struct _zval_struct {    /* Variable information */    zvalue_value value;        /* value */    zend_uint refcount__gc;    zend_uchar type;           /* active type */    zend_uchar is_ref__gc;};

zvalue_value 中,通过名称和注释可清楚地找到字段所使用的不同类型的内部表现形式——尤其是当你知道 PHP 数组实际上是哈希表时。但是,其中也遗漏了几种 PHP 类型:NULL, boolean 和 resources。NULL 不需要值,NULL 就是此类型的值。对 boolean 和 resource 的值来说,PHP 也使用值字段。比如 boolean 值,为 false 时存放 0,为 true 时存放 1。resource 类型的变量存放的是资源的 id。

现在,有个好消息是你不需要知道这些细节,因为在 PHP 中总是使用宏;坏消息是有很多宏: 有直接存取 zval 的宏,还有经常是指向 zval 的指针,甚至是指向 zval 的指针的指针,大多数宏都有引用这些指针的捷径。这些宏分布于 Zend/zend.h, Zend/zend_operators.h 和 Zend/zend_API.h 之中。

服务器软件 网络工具 网站工具 服务器教程 服务器知识 服务器技术 服务器之家 vps教程 vps是什么

本文标题:PHP核心之PHP变量的使用:PHP变量介绍 - 服务器教程_服务器技术_服务器知识_vps教程
本文地址:https://www.helloaliyun.com/tutorial/426.html

相关文章

  • CentOS 7 常用命令(系统关机、重启以及登出)

    关机:(系统的关机、重启以及登出 ) # 关闭系统(1)[root@localhost ~]# shutdown -h now # 关闭系统(2)[root@localhost ~]# init 0 # 关闭系统(3)[root@localhost ~]# telinit 0 # 按预定时间关闭系统[root@localhost...

    2019-12-07 服务器教程
  • linux重启命令 reboot与shutdown -r now的区别与联系

    在linux命令中reboot是重新启动,shutdown -r now是立即停止然后重新启动,都说他们两个是一样的,其实是有一定的区别的。shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告...

    2019-12-07 服务器教程
  • CentOS 7 如何使用命令重启或关机

    安装GNOME的朋友们首先切换到字符界面。切换到字符界面的方法如下: 先登陆进入系统,进入图形化界面,然后按Ctrl+Alt+F6(笔记本的是Ctrl+Alt+shift+Fn),进入字符界面。关机命令:shutdown或poweroffshutdown:shutdown -h now...

    2019-12-07 服务器教程
  • CentOS 7 正确关机重启的命令方法

    linux主要用于服务器领域,而在服务器上执行一项服务是永无止境的,除非遇到特殊情况,否则不会关机。和Windows不同,在linux系统下,很多进程是在后台执行的。在屏幕背后,可能有很多人同时在工作。如果直接按下电源的按钮,其他...

    2019-12-07 服务器教程
  • CentOS下的yum upgrade和yum update区别,没事别乱用!

    说明:生产环境对软件版本和内核版本要求非常精确,别没事有事随便的进行yum update操作!!!!!!!!!yum update: 升级所有包同时也升级软件和系统内核yum upgrade:只升级所有包,不升级软件和系统内核...

    2019-12-07 服务器教程
你可能感兴趣
热门浏览