manual php,PHP - Manual: 介绍 (官方文档)
介紹
為了在 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 之中。
總結
以上是生活随笔為你收集整理的manual php,PHP - Manual: 介绍 (官方文档)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java开发入坑,Java开发的自学路线
- 下一篇: php 网站速度慢,php – 个人用户